AndroidStudio使用NDK报错显示mips64el-linux-android-strip
原本项目没有使用NDK,编译啥的都正常。最近由于在研究APP 增量更新相关东西,结果在另一个Demo项目中导入过NDK,该Demo使用AndroidStduio 自动创建,运行没有问题。结果在运行原公司项目的时候,出现
Execution failed for task ‘:app:transformNativeLibsWithStripDebugSymbolForDebug’.
A problem occurred starting process ‘command ‘E:\android\sdk\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip”
几经周折,在网上找到以下几种解决方案:
1. 方法一:
打开 local.properties,将ndk目录的目录加上后缀 .cmd, 例如
ndk.dir=E:\android\sdk\ndk-bundle.cmd, 重新build就可以正常编译了
此时如果再次sync 工程,则会自动还原,所以治标不治本
2. 方法二:
版本回退, ndk版本在r17版, 很有可能出现这个问题, 那么可以下载r16版就可以了,
(1)先清除 Android/Sdk/ndk-bundle/ 下的内容
(2)从 https://developer.android.google.cn/ndk/downloads/older_releases 下载16b版本的ndk到本地, 并解压说, 将解压缩后的
(3)所有文件拷贝到 Android/Sdk/ndk-bundle/ 目录下
(4)重新build工程
该方法未经测试,有效性未知。
3.在项目模块gradle文件中加入以下相关代码
android{
packagingOptions{
doNotStrip '*/mips/*.so'
doNotStrip '*/mips64/*.so'
}
}
该方法可以有效性的解决相应的错误