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/silver/桌面/share/apk/app-android-debug.apk' 
adb server is out of date.  killing...
* daemon started successfully *
5347 KB/s (8754206 bytes in 1.598s)
    pkg: /data/local/tmp/app-android-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了。

水平有限,若有错漏,欢迎指正,批评,如需转载,请注明出处–http://blog.csdn.net/vfush,谢谢!

这里写图片描述

  • 43
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值