升级Android Studio至3.1.2后Gradle构建失败求助
解决Android Studio 3.1.2升级后Gradle构建失败问题
这个问题我之前也碰到过,根源在于Android NDK从r17版本开始彻底移除了对MIPS/MIPS64架构的支持,而你升级Android Studio 3.1.2后,配套的NDK版本大概率是r17+,但你的项目还在尝试处理MIPS架构的原生库,导致找不到对应的strip工具。下面是具体的解决方案:
解决方案1:限制项目支持的ABI架构
在app模块的build.gradle文件中,明确指定只支持当前主流的ABI,移除MIPS相关架构:
android { defaultConfig { // ...其他配置项 ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } }
如果你的项目使用CMake构建原生代码,还需要在CMakeLists.txt中补充:
set(CMAKE_ANDROID_ARCH_ABI "armeabi-v7a;arm64-v8a;x86;x86_64")
解决方案2:过滤第三方依赖中的MIPS架构库
如果是第三方依赖包中包含了MIPS/MIPS64的so文件,可以通过packagingOptions直接排除这些无用文件:
android { packagingOptions { exclude 'lib/mips/**' exclude 'lib/mips64/**' } }
解决方案3:回退到支持MIPS的旧版NDK(不推荐)
如果必须保留MIPS支持,可以在local.properties文件中指定使用NDK r16b及以下版本(r16b是官方最后支持MIPS的版本):
ndk.dir=/Users/pavel/Library/Android/sdk/ndk/16.1.4479499
注意:这个方案只是临时 workaround,MIPS架构已经被Android官方废弃,后续不会再有更新维护,建议优先使用前两个方案。
完成配置后,执行./gradlew clean build重新构建项目,应该就能解决这个错误了。
内容的提问来源于stack exchange,提问作者Pavel Zagalsky
相关产品推荐
相关产品推荐

