Google Play错误:无法上传仅测试版APK

Vit*_*lov 36 android google-play

在尝试将第一个apk上传到GooglePlay控制台中最近创建的项目时,我收到此错误:

您无法上传仅限测试的APK

根据今天的搜索结果,Google会为我提供0个结果.

我还提交了Play Console的票证.如果有任何答案,将在这里更新.

更新2017年11月29日

正如@ paul-lammertsma建议的那样,有一种解决方法.仍然很高兴知道为什么我们需要采用gradle方式,我们不能通过IDE做到这一点.

Pau*_*sma 49

通过Android Studio 3.0及更高版本构建您的应用程序将添加android:testOnly="true"到您的应用程序清单,标记APK为FLAG_TEST_ONLYPackageManager.有关CommonsBlog的更多信息,请点击此处.

尝试在Android Studio之外安装此类APK将失败:

无法安装app-debug.apk:失败[INSTALL_FAILED_TEST_ONLY:installPackageLI]

尝试将其上传到Google Play也会失败,其中包括:

您无法上传仅限测试的APK

这有四种解决方案:

从Android Studio构建

只需从Android Studio的"Build"菜单中选择"Build APK(s)"即可.

手动从Android Studio登录

只需从Android Studio的"Build"菜单中选择"Generate Signed APK ..."即可.提供密钥库并在显示的对话框中输入签名详细信息.

通过Gradle构建

您当然可以直接从终端执行Gradle.此外,如果您的部署周期贯穿CI(它应该!),这真的是要走的路!

./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

(或者,您可能更喜欢从Android Studio中的Gradle窗格运行此Gradle任务.)

在Android Studio中禁用此功能

如果您不喜欢这种行为,可以选择将此标志添加到您的gradle.properties.请注意,测试标志是为了您自己的保护,因此您不会意外地发布仅测试APK!

# Disble the bullshit testOnly mode for Android Studio
android.injected.testOnly=false
Run Code Online (Sandbox Code Playgroud)

  • 它适用于AS 3.0 beta2.谢谢保罗,你救了我的一天 (2认同)
  • 解决方法适用于我,因为即使AS 3.0产生了导致错误的APK. (2认同)
  • 解决方案要简单得多,您应该使用 Build apks 而不是从运行按钮构建的 apks (2认同)

Vit*_*lov 8

看起来我发现了一些非常相关的东西: ADB Install INSTALL_FAILED_TEST_ONLY失败

我正在使用2.4.0-alpha6的gradle插件,这似乎还没有准备好用于生产.

所以解决方案是使用最新的稳定gradle插件:

classpath 'com.android.tools.build:gradle:2.3.1'


sha*_*esh 8

单击Build然后按BuildAPK,然后上传它将工作.android studio 3.0上的即时运行APK仅在连接到adb的设备上运行.


Ang*_*Koh 6

我发现这个博客解决了“仅测试”错误的原因

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

基本上,有两点需要注意:

您不能通过常规方式安装带有 android:testOnly="true" 的应用程序,例如从 Android 文件管理器或从网站下载

Android Studio 3.0 在从 IDE 运行的 APK 上设置 android:testOnly="true"

android studio 3.0 现在在您使用绿色运行按钮(制作项目 CTRL+F9)编译发布版本时设置此“testOnly”标志。

我发现的解决方案是不调用“make project”,而是调用

  • 构建 > 构建 APK 或
  • 构建 > 生成签名的 APK...