adb install INSTALL_FAILED_TEST_ONLY的原因
给测试同学打了个deubg包发现无法安装,提示无法解析,使用adb install
安装后提示INSTALL_FAILED_TEST_ONLY
,原来是Android Studio 3.0会在debug apk的manifest
文件application
标签里自动添加android:testOnly="true"
属性
在Android Studio进行开发的时候,生成的debug apk
手动使用adb install
无法安装,提示错误:
问题
➜ apk adb install '/home/yezhou/demo/demo-debug.apk'
adb server is out of date. killing...
* daemon started successfully *
5347 KB/s (8758206 bytes in 1.598s)
pkg: /data/local/tmp/demo-debug.apk
Failure [INSTALL_FAILED_TEST_ONLY]
分析
但是使用Android Studio开发过程中发现可以直接安装成功。经过查询资料发现在AndroidManifest.xml
文件中添加了属性testOnly=true
,参考:https://developer.android.com/guide/topics/manifest/application-element
反编译当前apk发现清单文件中的确新加了这个属性,研究发现原来是Android Studio 3.0会在debug apk的manifest
文件application
标签里自动添加android:testOnly="true"
属性,导致IDE中run跑出的apk在大部分手机上只能用adb install -t
来安装。
解决方法
方法一:在项目中的gradle.properties
全局配置中设置:
android.injected.testOnly=false
方法二,加-t
参数:
adb install -t app-debug.apk
通过方法一设置后,反编译后没有属性testOnly=true
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/26/adb-install-failed-test-reason-for-only/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论