Android Studio 3.1.2 ndk之java.io.IOException: Cannot run program mips64el-linux-android-strip问题

近期我升级了传说已久的android studio 3.0 我原本使用的是2.3把版本 由于倾心3.0 版本的kotlin 以及 相关新功能 我就开启了我的更新之路 看来一下相关文章 我选择的是 卸载老版本 下载新版本 一是我没有翻墙 二是避免一些版本冲突的麻烦 (建议使用这种方式 简单 后期处理项目配置的时候 问题也少得多)

安装成功后 我遇到了两个问题
问题一
Could not find method implementation() for arguments
Please install the Android Support Repository from the Android SDK Manager.
第一个是这个问题 按照提示 打开SDK Manager 找到相关Support repository 查看是否安装即可 没有安装下载安装 有安装 就检查你的相关库 compile 和 implementation的使用 implementation
是3.0 新的依赖引用方式 如果这个错 就把 implementation 改为compile 就好

问题二

Caused by: java.io.IOException: Cannot run program “C:\Users\KuKa\AppData\Local\Android\Sdk\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip
这个问题出现的很奇怪 这是我配置好项目以后 重启studio 遇见的问题 我想应该是缓存导致的
问题很清楚 无法找到mips64el-linux-android-strip文件 经查找ndk 资源下 也确实是没有这个文件 经过我分析 应该是我项目中的mips64 cpu资源 导致了编译器的引用指向 后来经过google 查知 这是因为在安装了3.1.2版本以后 ndk 的版本也一起更新了 为ndk r17版本 由于mips 相关cpu架构资源被ndk r17舍弃的原因 ndkr17已经不支持mips的 cpu资源了 而我项目中又添加了mips相关cpu资源所以会报错
图示一下 ndk r16 和 r17 所支持的cpu资源目录

r16目录
r16目录
r17目录
r17目录

查看了一下网上的主流方法 一种是将ndk版本降低 改为r16版本
(打开你的ndk 路径 local.properties配置文件可以看到你的ndk 文件位置 如上图 ndk-bundle 把这个包下的文件删除 然后下载ndk 下载完成后 解压到ndk-bundle 文件夹下即可)
另一种是不通过ndk 编译 (打开local.properties 删除或者注释ndk 配置 清一下缓存 编译运行即可)
我使用了第三种 如上图如示 既然ndk r17 不支持mips 那就手动配置 cpu 资源 或者 删除mips 相关cpu资源

打开你的model 的build.gradle文件

android {
defaultConfig {
ndk {
//支持的CPU架构,如armeabi、x86、mips等
abiFilters “armeabi”, “x86”
}
}
// 排除编译mips相关
packagingOptions {
doNotStrip ‘/mips/.so’
doNotStrip ‘/mips64/.so’
}
这样有针对性的解决这个问题 好了 今天就到这里 欢迎留言或私信

猜你喜欢

转载自blog.csdn.net/naide_s/article/details/81144745
今日推荐