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


当前回答

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

Adb install -t“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

Android 3.6.2及以上版本

构建>>构建/捆绑apk >>构建apk

它工作得很好。

对我来说有效的方法是从右边菜单的Gradle工具栏刷新所有的Gradle项目。

PFB来自Android Studio的截图。

从右边的菜单中选择Gradle工具栏。 选择刷新图标

这为我解决了问题。

我同意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'

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

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