我在我的设备上安装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命令或任何其他方法安装

希望这能有所帮助

大卫

其他回答

我看到了接受的答案,但你不必真正地推动apk,然后在adb shell上运行命令直接adb install with -t flag实际上是有效的

Adb install -t“apk在你电脑上的路径”

附上截图供参考

我尝试了外部项目,有多个apk。

来自工作室的命令,看起来像

adb install-multiple -r ....

解决方案-

选择控制台 带-t的Aste命令

如文档中所述:

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

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

如果您想测试apk,只需添加-t命令行选项。

示例命令:

adb install -t .\app-debug.apk

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