我在我的设备上安装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 studio 3.0只生成测试APK。

我已经通过添加“android:testOnly”属性到android manifest的标签解决了这个问题。

 <application
    .....
    android:testOnly="false"
    android:theme="@style/AppTheme">

然后通过Android studio3.0菜单生成APK:Build—>Build APK(s)。

更多信息: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

其他回答

Android studio 3.0只生成测试APK。

我已经通过添加“android:testOnly”属性到android manifest的标签解决了这个问题。

 <application
    .....
    android:testOnly="false"
    android:theme="@style/AppTheme">

然后通过Android studio3.0菜单生成APK:Build—>Build APK(s)。

更多信息: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

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

示例命令:

adb install -t .\app-debug.apk

在我的情况下,这个错误是在不稳定的gradle版本。只需使用稳定版本的gradle(不是alpha,甚至不是beta)。它为我修好了

我也有同样的问题,没有答案。 最后,我发现在我的安全文件夹(或安全文件夹取决于手机品牌)中仍然有一个安装,它没有在Android卸载普通安装时被删除。删除它,这个问题就解决了。 希望这能帮助到其他人!

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