WARNING: ABIs [armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project

后端 未结 4 2040
面向向阳花
面向向阳花 2020-12-01 18:11

I had this issue last time after upgrade NDK version to latest version in Android Studio. I also found solution to fix this. If anyone has this issue , I hope it is the best

相关标签:
4条回答
  • 2020-12-01 18:21

    According to Android documentation this is a known issue, and its due to the fact that the gradle plugin still includes unsupported ABIs by default. armbeabi was deprecated in NDKr16 and removed in r17 hence the warning. To fix, list your supported architectures under splits.abi:

    ...
    splits {
        abi {
            ...
            reset()
            include "x86", "armeabi-v7a", ...
        }
    }
    
    0 讨论(0)
  • 2020-12-01 18:27

    Got same issue and fixed through modifying the module build.gradle file by adding below setup:

    android {
        ...
        splits {
            abi {
                enable true
                reset()
                include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' //select ABIs to build APKs for
                universalApk true //generate an additional APK that contains all the ABIs
            }
        }
    
        project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
    
        android.applicationVariants.all { variant ->
            variant.outputs.each { output ->
                output.versionCodeOverride =
                       project.ext.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI), 0) * 1000000 + android.defaultConfig.versionCode
            }
        }
    }
    

    For your reference, good luck.

    0 讨论(0)
  • 2020-12-01 18:29

    This doesn't resolve my problem, i resolved by adding this:

            ndk {
                abiFilters "armeabi-v7a"
            }
    

    to android.defaultConfig

    0 讨论(0)
  • 2020-12-01 18:36

    I found solution by reading on release note here for NDK revision 16.

    1. If you config your project with Application.mk just add the following to your Application.mk file:

      APP_STL := c++_shared
      
    2. If you're using CMake via Gradle, add the following to your build.gradle:

      externalNativeBuild {
          cmake {
              cppFlags ""
              arguments "-DANDROID_STL=c++_shared"
          }
      }
      

    To keep up to date with new release and note, please follow this NDK Revision History to apply with new changed.

    I hope it can fix your issue.

    0 讨论(0)
提交回复
热议问题