我在我的设备上安装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.0 Beta 7中也遇到了类似的问题,无法再向游戏商店发布游戏。

如上所述:https://developer.android.com/studio/run/index.html

注意:Run按钮用testOnly="true"构建APK,这意味着 APK只能通过adb (Android Studio使用)安装。如果 你想要一个可调试的APK,人们可以在没有adb的情况下安装,选择 然后单击Build > Build APK(s)。

对于发布版本也是一样,对于Android Studio 3,你需要去build > build APK(s)来拥有一个不可测试的发布APK,你可以提交给商店。

看起来你需要修改你的AndroidManifest.xml 将android:testOnly="true"更改为android:testOnly="false"或删除此属性。

如果你想保持android:testOnly属性为true,你可以使用pm install命令和-t选项,但你可能需要先将apk推到设备。

$ adb push bin/hello.apk /tmp/
5210 KB/s (825660 bytes in 0.154s)

$ adb shell pm install /tmp/hello.apk 
    pkg: /tmp/hello.apk
Failure [INSTALL_FAILED_TEST_ONLY]

$ adb shell pm install -t /tmp/hello.apk 
    pkg: /tmp/hello.apk
Success

我能够重现相同的问题,上面解决了它。

如果你的APK在设备外部(在你的桌面上),那么下面的命令可以做到:

$ adb install -t hello.apk

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

经过一整天的搜索和浏览,唯一的工作就是添加

android.injected.testOnly=false

去gradle。属性文件

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

Adb install -r yourapk

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

失败(INSTALL_FAILED_TEST_ONLY)

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

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

希望这能有所帮助

大卫