一:在编译别人的代码时,出现 ABIs [armeabi] are not supported for platform
查找了一番发现,原来工程用了 NDK,而我的 Android Studio 的 NDK 版本是 r17b(v17)的,经过查阅发现:
ndk(v17)已不在支持mips、armeabi等CPU架构,只支持armeabi-v7a, arm64-v8a, x86, x86_64。
然后发现有两种解决方法:
1、不要 mips 、armeabi 等CPU架构,使用 armeabi-v7a 可以解决大部分的问题。当然具体情况具体分析。
2、把 Android Studio 的 NDK 版本降低。把他降低到 v17 以下,替换 AS 的 NDK。
我是通过第一种方法解决的。还有特意去了解一下 .so 文件是如何运作的。发现这类的东西网上有很多解答。
二:Error:Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.
Error:Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.
> A problem occurred starting process 'command 'C:\Users\Administrator\AppData\Local\Android\Sdk\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip''
遇到这种情况:
- 打开 local.properties,将ndk目录的目录加上后缀 .cmd
- 版本回退。现在的 NDK 版本在 r17 版,是很有可能出现这个问题,那么可以下载 r16 版就可以了
- 先清除 Android/Sdk/ndk-bundle/ 下的内容
- 从 https://developer.android.google.cn/ndk/downloads/older_releases 下载 16b 版本的 ndk 到本地,并解压。将解压缩后的所有文件拷贝到 Android/Sdk/ndk-bundle/ 目录下
- 重新 build 工程
推荐几个链接给大家参考:
https://blog.csdn.net/dxpqxb/article/details/7721156
https://blog.csdn.net/k316378085/article/details/52034530
https://blog.csdn.net/u012400885/article/details/52923765