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

时间:2017-04-28 23:21:27

标签: android google-play

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

  

您无法上传仅测试APK

根据今天的搜索情况,Google会为我提供0个完整字符串的结果。

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

2017年11月29日更新

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

6 个答案:

答案 0 :(得分:48)

通过Android Studio 3.0及更高版本构建应用程序会将--添加到您的应用程序清单中,将Package标记为FLAG_TEST_ONLYMore information on CommonsBlog here.

尝试在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(它应该!),这真的是要走的路!

android:testOnly="true"

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

在Android Studio中禁用此功能

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

gradle.properties

答案 1 :(得分:8)

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

我正在使用2.4.0-alpha6 gradle插件,而且似乎还没有准备好用于制作。

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

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

答案 2 :(得分:8)

单击Build然后按BuildAPK(s)然后上传它将起作用。 android studio 3.0上的即时运行APK仅在连接到adb的设备上运行。

答案 3 :(得分:4)

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

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现在设置此“testOnly”标志(make project CTRL + F9)。

我找到的解决方案是不要调用“make project”,而是调用

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

答案 4 :(得分:2)

我正在使用 Android Studio 3.1 Canary 5

我曾尝试过(但没有尝试过):

  • 我尝试了上述所有答案,但遗憾的是我没有得到解决方案。
  • 我删除了 kotlin 依赖关系并签名但没有效果。
  • 我尝试使用./gradlew assembleRelease
  • 之类的命令行
  • 我尝试使用“Build APK”和“Generate Signed APK”
  • 构建apk

在所有可能性之后我通过以下方式获得解决方案: - 编译SDK版本已从 Android P 更改为 Android Oreo 27 - 将 AppCompat 版本更改为27.0.1

现在已成功运作。

谢谢。

答案 5 :(得分:-1)

对我有用。尝试运行此文件并重新构建。 ./ gradlew assembleRelease

也许您上传的是错误的apk文件,该文件先前生成的不是经过签名的apk。因此,请通过找到生成的签名apk文件的确切路径来选择apk文件。