升级Android Studio NDK后遇ARMEABI未被项目目标覆盖的ABI警告如何解决?
解决NDK升级后ARMEABI相关警告问题
我之前把Android Studio里的NDK升级到最新版后,也遇到了完全一样的警告:
WARNING: ABIs [armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project
折腾了一会儿终于搞定了,把修复步骤分享给你:
问题原因
最新版本的NDK已经不再支持armeabi这个ABI架构了,当你的项目配置里还保留这个ABI的指定时,就会触发这个警告。
修复步骤
首先打开模块级的
build.gradle文件(就是app目录下的那个,不是项目根目录的),找到defaultConfig节点,检查里面的ndk配置:defaultConfig { // 其他配置内容... ndk { // 只保留NDK仍支持的ABI,移除armeabi abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } }如果你的
defaultConfig里没有ndk块,直接添加进去即可。然后检查Android Studio的编译命令行参数,确认是否有指定过时的ABI:
- 打开Settings(Windows:File > Settings;Mac:Android Studio > Settings)
- 依次进入
Build, Execution, Deployment>Compiler>Command-line Options - 如果里面有类似
-Pandroid.injected.build.abi=armeabi-v7a,armeabi的参数,把其中的,armeabi删掉,保存设置
最后点击工具栏上的「Sync Project with Gradle Files」按钮,同步完成后重新构建项目,这个警告就会消失了。
额外提醒
如果你的项目依赖的第三方库只有armeabi架构的so文件,那建议尽快联系库作者更新版本,或者替换为支持新ABI的替代库——毕竟NDK已经停止对armeabi的维护,后续可能会出现兼容性问题。
内容的提问来源于stack exchange,提问作者Chivorn
相关产品推荐
相关产品推荐

