我在我的设备上安装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 install <.apk>
使用上述命令将返回以下结果:
5413 KB/s (99747 bytes in 0.017s)
pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]
你知道是什么导致了这个问题吗?
它肯定能识别设备。会不会是apk出了问题?
当前回答
对我来说,它已经工作了,执行gradle任务“清洁”(在:app下,在gradle窗格,通常位于右侧),并再次运行项目。
其他回答
经过一整天的搜索和浏览,唯一的工作就是添加
android.injected.testOnly=false
去gradle。属性文件
看起来你需要修改你的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
对我来说有效的方法是从右边菜单的Gradle工具栏刷新所有的Gradle项目。
PFB来自Android Studio的截图。
从右边的菜单中选择Gradle工具栏。 选择刷新图标
这为我解决了问题。
我看到了接受的答案,但你不必真正地推动apk,然后在adb shell上运行命令直接adb install with -t flag实际上是有效的
Adb install -t“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)