我正在寻找一种方法,我可以用它来自我的CI服务器自动将应用程序发布到Google Play商店的alpha和beta测试流。
我的CI设置如下:
通过stackoverflow扫描了这个问题的答案,唯一找到的是API to automatically upload apk to Google Play?,但是这个问题的答案已经超过一年了,而且我们都知道一年是软件开发的一生,所以我希望事情可能会改善一些什么。
在发布到这两个流之后,我还有一个子问题,测试人员在商店中看到它们需要多长时间?我听到24到48小时,考虑到发布到生产的应用程序只花了几个小时似乎有点奇怪。
更新:该插件现在可以从maven central获得com.savillians.gradle:android-publisher:0.4
。将它添加到build.gradle中的buildscripts定义并按照下面的说明应用它。
我有完全相同的问题,感谢@ edovino的评论和Google Play API示例,我能够创建一个gradle插件,可以发布到您希望的任何风格/变体的任何音轨。
请参阅此处的来源:https://github.com/bluesliverx/gradle-android-publisher
我正在努力将其发布到maven central,因此它可以在构建脚本中使用,但是现在你可以抓住repo中的android-publisher
子目录,将它放在gradle构建的根目录中,并将文件夹重命名为buildSrc
。在build.gradle
文件中使用以下行作为要发布的android项目:
apply plugin: com.savillians.gradle.androidpublisher.AndroidPublisherPlugin
然后,您可以使用androidPublisher
文件中的build.gradle
块设置发布设置。
android {
...
}
androidPublisher {
applicationName = "Company-Name-Product-Name/1.0"
packageName = "<package name>"
serviceAccountEmail = "<service account email>"
serviceAccountKeyFile = file('<p12 keyfile - NOT the json file>')
track = "alpha" // default, don't need to specify
variantName = "release" // default, don't need to specify
}
确保您创建的服务帐户具有“发布管理器”权限,下载p12密钥文件并将其放在项目的目录中。然后运行以下命令:
gradle androidPublish
这会使用您指定的凭据将其发送到Google Play。祝你好运,如果你有问题,请告诉我,因为这是全新的。
如果你正在使用Jenkins,Google Play Android Publisher Plugin可以让你自动上传alpha或beta版本。
例如,您还可以使用它来“推广”APK,从alpha,beta,或从beta到分阶段推出。
还包括多个APK支持以及上载(或重用)扩展文件的功能。
通过与Jenkins中的凭据功能集成,该插件可以安全地访问您的Google Play帐户,而无需检查存储库中的私钥或类似内容。
现在有一个可以在构建服务器构建步骤中调用的直接CLI工具:
https://github.com/codebysd/java-play-store-uploader
它使用谷歌发布商API并使用新的JSON密钥格式。