我在我的设备上安装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出了问题?
当前回答
我在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,你可以提交给商店。
其他回答
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.inject。testOnly=false到你的gradle。如果你不介意使用命令行,那么在安装之前执行以下两个命令即可:
rm -v **/build/**/AndroidManifest.xml
gradle build
Windows用户:从所有构建目录中删除所有AndroidManifest.xml。但不是从src目录,所以DEL /S不是最好的主意。
我的发现如下。如果我使用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)
对我来说,它已经工作了,执行gradle任务“清洁”(在:app下,在gradle窗格,通常位于右侧),并再次运行项目。
Android 3.6.2及以上版本
构建>>构建/捆绑apk >>构建apk
它工作得很好。