随笔 - 10  文章 - 0  评论 - 0  阅读 - 6648

Android真机调试遇到The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS

先说下编译环境

Android Studio 2023.1.1

gredle 8.0

sdk 32

kotlin1.8.10

 

最近开发地图功能的时候,需要用到真机环境的定位设备,所以需要进行真机调试。

连上手机后,点击调试总是提示INSTALL_FAILED_NO_MATCHING_ABIS这个错误。

但是我直接将编译好的release.apk拷贝到真机上又可以正常安装并运行,但是这样以来调试就非常麻烦了。

网上找了一大堆方法,都是说系统架构问题导致的,我照着弄了很多,都没管用,自认为解决问题的答案(但是没有解决)是在app gredle配置文件下defaultConfig,中添加ndk配置

defaultConfig {
   ...
    ndk {
      abiFilters.addAll(arrayOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64"))
    }
   ...      
}

成功通过同步,但是依然没有用,而且build文件下也没有看到生成对应的架构包。

最后我试着修改调试的编译结果为release安装到手机,居然成功了。

 默认debug,选择为release

 再点击绿色的Run "app",会提示key一个错误,系统会推荐使用debug.key你修复,直接下一步,就可以成功安装了,Logcat,也可以正常使用。

至于根本原因我也不清楚,但肯定是哪个地方没有配置好吧,新版的东西网上也很少,不知道怎么改。

 

我后来又新建了一个项目,默认情况也能真机调试了,在我将旧的项目依赖工具复制粘贴到新项目,又出现了上述问题,然后我猜测可以能某个依赖导致的

最后排除的结果是下面这依赖导致的,注释以后就没有影响了。

再后来我又去官网Apache Commons – Apache Commons下载的最新版的jar包,本地引入后成功解决该问题。

如果你遇到和我相同的问题也可以试着排除一下。

//添加org.apache.commons.codec和org.apache.commons:commons-lang依赖,主要用于数据加密解密工作
//    implementation("org.apache.directory.studio:org.apache.commons.codec:1.8")

implementation(files("libs/commons-codec-1.16.0.jar"))
posted on   清靜  阅读(337)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示