我在我的设备上安装apk时有问题。

adb install <.apk>

使用上述命令将返回以下结果:

5413 KB/s (99747 bytes in 0.017s)
        pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]

你知道是什么导致了这个问题吗?

它肯定能识别设备。会不会是apk出了问题?


当前回答

对我来说,它已经工作了,执行gradle任务“清洁”(在:app下,在gradle窗格,通常位于右侧),并再次运行项目。

其他回答

我不知道它是否对任何人有用,但我得到了这个错误消息,当我不小心试图在稳定的Android Studio版本(2.3,而不是2.4预览5版本我之前下载和安装)中构建和安装测试gradle插件('gradle:2.4.0-alpha5')版本的项目时。

当我意识到自己的错误时,我启动了预览版Android Studio,它构建并安装了我的项目,没有任何问题。

解决这个问题最简单的方法是在运行配置中添加'-t'选项(用于pm install),而不需要恢复到旧的gradle版本。

testOnly='false'没有任何影响。该错误是由alpha版本的gradle插件导致的,该插件使调试APK“仅用于测试目的”。-t选项允许安装这样的APK。在运行配置中设置它会像往常一样自动安装APK。

在我的例子中是通过上传一个APK,虽然它是用生产证书签名的,并且是一个发布变体,但它是由Android工作室的运行播放按钮生成的。 从Gradle或Build APK菜单选项生成APK后问题解决。

我同意Elisey的观点。在2.4预览中打开我的项目,然后在android studio 2.3中打开相同的项目后,我得到了同样的错误

修正了在构建中更改这一行的问题。它从

classpath 'com.android.tools.build:gradle:2.4.0-alpha5'

to

classpath 'com.android.tools.build:gradle:2.3.1'

我的发现如下。如果我使用Android Studio UI编译,并生成APK,我不能只是

adb install <xxx.apk>

它将生成失败[INSTALL_FAILED_TEST_ONLY]

我需要使用gradle即./gradlew app: assemblerrelease编译它。然后只有生成的apk,然后才能安装。

这是因为Android Studio UI Compile只为特定设备生成测试apk,而./gradlew app: assemblerrelease命令是实际生成的apk,将安装在所有设备上(并上传到playstore)