Ubuntu18迁移Android Studio项目后遇NDK文件缺失构建错误
解决Android Studio构建时找不到mips64el-linux-android-strip的问题
嘿,这个问题我之前帮朋友处理过!本质上是NDK版本更新带来的兼容性坑——从Android NDK r17开始,谷歌就彻底移除了对MIPS架构的支持,而你的旧项目还保留着针对MIPS的编译配置,新电脑上默认安装的NDK-bundle(一般是较新版本)自然没有这些废弃的工具,所以构建时Gradle就会抛出找不到strip文件的错误,连带出现org.gradle.api.tasks.TaskExecutionException这类栈异常。
下面给你几个靠谱的解决办法,按优先级推荐:
方案一:移除项目中MIPS相关的架构配置(最推荐)
现在市面上几乎没有使用MIPS架构的Android设备了,直接砍掉这个支持完全不影响项目运行。操作步骤:- 打开项目模块下的
build.gradle文件(不是根目录的那个) - 找到
android > defaultConfig里的ndk配置块,修改abiFilters列表,删掉mips和mips64
比如原来的代码是:
android { defaultConfig { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64", "mips", "mips64" } } }修改后变成:
android { defaultConfig { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } }- 点击Android Studio右上角的
Sync Project with Gradle Files按钮,同步完成后重新构建项目
- 打开项目模块下的
方案二:指定旧版本NDK(仅当你必须保留MIPS支持时用)
如果你因为特殊需求必须要兼容MIPS架构,可以指定一个r16或更早版本的NDK:- 先通过SDK Manager下载NDK r16b(这是最后一个支持MIPS的版本)
- 打开
File > Project Structure(快捷键Ctrl+Alt+Shift+S),在左侧选择SDK Location - 在
Android NDK location处选择你下载好的NDK r16b路径
或者直接在项目根目录的local.properties文件里添加一行:
ndk.dir=/home/developer/Android/Sdk/ndk/16.1.4479499注意:旧版本NDK存在安全漏洞,非必要不建议使用
方案三:清理Gradle缓存确保配置生效
有时候缓存会导致修改后的配置不生效,可以试试:- 点击
File > Invalidate Caches...,选择Invalidate and Restart重启Android Studio - 重启后手动删除项目根目录的
.gradle文件夹和模块下的build文件夹 - 重新同步Gradle并构建项目
- 点击
另外还要注意:如果你的项目依赖了第三方库,也要检查这些库是否包含MIPS架构的so文件,有的话最好更新到不包含MIPS的版本,避免拖后腿。
内容的提问来源于stack exchange,提问作者Midhilaj
相关产品推荐
相关产品推荐

