INSTALL_FAILED_TEST_ONLY

INSTALL_FAILED_TEST_ONLY

一、今天利用adb install 安装apk文件 时,报INSTALL_FAILED_TEST_ONLY的错误,刚开始以为是打包时哪里不对了,可以利用androidStudio运行时,可以正常运行,利用adb install 运行会报错,于是上网查找问题的原因

二、网上解决方案如下 

1、在AndroidMainfest.xml中设置了apk属性为testOnly.

<appliaction

...

android:testOnly="false">

</application>

设置该属性为false或才删除这个属性,原因是qr忽略它是debug版本的apk检测。

2、buile.gradle中设置修改属性,注意这里的gradle文件是project的gradle而不是app的gradle

buildscript {

         repositories {

                 jcenter()

         }

        dependencies {

                 classpath 'com.android.tools.build:gradle:2.4.0-alpha3' //版本为测试版

                  //这里修改为

                   classpath 'com.android.tools.build:gradle:2.4.0' //版本为测试版                   

        }

}

3、放大招

     adb install -t *.apk

三、上面三种办法 都试了一遍,只有第三种是可行的,但是第三种局限性太强,只能用于强制让它可以安装执行,如果该apk发给别人,别人照样装 不上应用。故该方案还是不行。于是继续找办法 ,终于找到了真正的办法

解决办法:

      1、把上面两种方案的代码添加到app中,然后进入androidStudio的build设置选项,点击Build APK(s),这样生成的.apk文件就可以成功的利用adb install 命令安装程序了。问题完美解决。

       解决方案参照网上http://blog.sina.com.cn/s/blog_6cbd24890102x0ki.html的博客

以下内容应该是源码注释,       

Note: The Run button builds an APK with testOnly="true", which means the APK can only be installed via adb (which Android Studio uses). If you want a debuggable APK that people can install without adb, select your debug variant and click Build > Build APK(s).

也就是说,只要在AndroidStudio3.0内,点击绿三角运行Run,跑出来的apk,一定是TEST_ONLY的。

意思是说,如果点击androidStudio上的绿三角运行Run,它跑出来的apk文件 ,是TEST_ONLY的,如果利用adb install 安装这个apk文件 ,即使里边都设置对了,它依然是装不上的,故我们不应该利用run后的apk文件 来进行adb install安装 ,而应该,在build设置中,执行Build APK(s),这样生成的apk文件 才可以利用adb install来进行正常的安装 。

以上内容就是本人在开发中遇到的问题及解决方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值