我在我的设备上安装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出了问题?


当前回答

之前的帖子都没有解决我的问题。下面是我的情况: 我通常通过点击“运行”按钮从android工作室加载应用程序。当你这样做时,android会创建一个适合调试但不适合安装的应用程序。如果您尝试使用以下方法安装:

Adb install -r yourapk

你会收到一条信息,上面写着:

失败(INSTALL_FAILED_TEST_ONLY)

当这种情况发生时,您将需要通过首先清理构建来重新构建apk,然后选择build -> build apk。请看下图:

这个APK可以通过adb install命令或任何其他方法安装

希望这能有所帮助

大卫

其他回答

我的发现如下。如果我使用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)

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

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

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

如文档中所述:

Android Studio在单击Run时自动添加此属性

所以,为了能够安装你的apk与adb安装<路径到apk文件>你需要组装从终端:./gradlew assembleDebug和adb安装。或者只运行./gradlew installDebug在设备上同时构建和安装。

以我为例,使用Android Studio 4.0解决了这个问题;

添加到gradle。属性的文件;

android.injected.testOnly=false