Google Play发布android app

这篇具有很好参考价值的文章主要介绍了Google Play发布android app。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明

本博文只是简单记录使用流程
操作时间是2023.1.12日,后续查看该博文,可能会发现因为Google Play Console版本升级带来操作使用上的差异

google play官方指导
https://support.google.com/googleplay/android-developer/answer/9859152?hl=zh-Hans]

1.注册开发者账户

浏览器登录google账户后,如果没有开发者账户,则需要注册开发者账户,如果有则跳过该步骤

1.1 打开 https://play.google.com/console 会直接重定向到https://play.google.com/console/signup

提示需要注册开发者账户,个人还是单位?
Google Play发布android app

选择个人
Google Play发布android app

Google Play发布android app

有三项是必填
Google Play发布android app

改成单位开发者账户
Google Play发布android app

Google Play发布android app

1.2 换一个google账户后,打开 https://play.google.com/console 也会直接重定向到https://play.google.com/console/signup,但是页面不一样,需要开启两步验证

Google Play发布android app

Google Play发布android app
Google Play发布android app

输入密码后,点击下一步
Google Play发布android app
输入手机号,下一步
Google Play发布android app
输入验证码,下一步
Google Play发布android app

开启

Google Play发布android app
手动关闭该页面,输入https://play.google.com/console,还是会跳到https://play.google.com/console/signup页面
Google Play发布android app

填写各种开发者(个人或者单位)信息后

再次进入Google Play控制台 https://play.google.com/console

Google Play发布android app
成功进入Play控制台

2.创建应用

Google Play发布android app

点击创建应用
Google Play发布android app

Google Play发布android app

点击创建应用

3.应用创建后的信息中心

总共分成三大块

立即开始测试
设置应用
发布应用
Google Play发布android app
Google Play发布android app

3.1 立即开始测试

Google Play发布android app
点击 “创建新版本”

Google Play发布android app
点击“创建新的发布版本”

Google Play发布android app
Google Play发布android app

如果使用自建签名,则需要更改应用签名密钥

点击“更改应用签名密钥”,会弹框提示
Google Play发布android app
选择使用其他密钥
有四个选项

Google Play发布android app
Google Play发布android app
此处选择“从 Java 密钥库导出并上传密钥”
1.下载 Play Encrypt Private Key (PEPK) 工具。下载源代码
2.使用下面的命令运行该工具,导出您的私钥并将其加密。然后替换相应参数,在看到提示时分别输入密钥库和密钥的密码。

$ java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=output.zip --include-cert --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

按照流程把apk打包使用的密钥文件xxx.jks替换名称foo.keystore,alias也换成xxx.jks中的keyAlias

3.上传生成的zip文件

4.为了提高安全性,请创建新的上传密钥(可选)。
隐藏说明
expand_less
创建新的上传密钥,然后使用该密钥为应用的每个版本签名,而不使用应用签名密钥来签名。如果您丢失了上传密钥或者密钥被盗,可以重置上传密钥,然后开始使用新密钥。

生成新的上传密钥。了解详情
使用下方的命令以 PEM 文件格式导出上传密钥证书。请替换以粗体显示的参数。
$ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem

此处暂时没有创建所谓的“上传密钥”了,点击保存后,回到主页
Google Play发布android app
自己上传的密钥生效了

上传app bundle,注意这里只能上传aab文件,不支持上传apk?????
Google Play发布android app
这里需要重新打包aab

aab打包

Google Play发布android app
不是上述路径,而是

Google Play发布android app

Google Play发布android app
注意这里“Export encrypted key for enrolling published apps in Google Play App Signing”,默认勾选,暂时没有用到

Google Play发布android app
成功生成了aab

aab转apks
aab转apks

命令格式参考如下:

java -jar <bundletool.jar的路径> build-apks --bundle=<.aab文件的路径>
--output=<输出.apks的路径> --ks=<打包使用的证书文件的路径> --ks-pass=pass:<证书密码> --ks-key-alias=<证书别名> --key-pass=pass:<证书别名密码,通常与证书密码一致>

但是本机运行报错

[BT:1.13.2] Error: Error while loading private key and certificates from the keystore.
com.android.tools.build.bundletool.model.exceptions.CommandExecutionException: Error while loading private key and certificates from the keystore.
        at com.android.tools.build.bundletool.model.exceptions.InternalExceptionBuilder.build(InternalExceptionBuilder.java:57)
        at com.android.tools.build.bundletool.model.SignerConfig.extractFromKeystore(SignerConfig.java:180)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.populateSigningConfigurationFromFlags(BuildApksCommand.java:1685)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.fromFlags(BuildApksCommand.java:777)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.fromFlags(BuildApksCommand.java:743)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:82)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:54)
Caused by: java.io.IOException: Invalid keystore format
        at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
        at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
        at sun.security.provider.KeyStoreDelegator.engineLoad(Unknown Source)
        at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(Unknown Source)
        at java.security.KeyStore.load(Unknown Source)
        at com.android.tools.build.bundletool.model.SignerConfig.extractFromKeystore(SignerConfig.java:133)
        ... 5 more

原因竟然是我使用的jar包是最新版bundletool-all-1.13.2.jar,估计是jdk11编译的,所以运行也需要jdk11,而报错是因为默认使用的jdk版本是java 8(之前系统配置了java 8环境变量),可惜,这个报错提示不友好,郁闷很久!!!!有的jar包运行会提示版本不兼容

设备安装apks

命令格式参考如下:

java -jar <bundletool.jar的路径> install-apks --apks=<上一步中生成的.apks文件路径>

本机因为bundletool-all-1.13.2.jar 所以还是需要使用jdk11启动jvm

本机运行后提示信息如下

The APKs have been extracted in the directory: C:\Users\Administrator\AppData\Local\Temp\9626548363570726817

安装成功

问题

如果是面向海外的app,优先使用Google Play市场发布应用,所以aab是首选,但是怎么方便机器测试aab呢?每次都要主动运行这个jar程序两次??

参考
https://copyfuture.com/blogs-details/202207120550060058
https://baijiahao.baidu.com/s?id=1739494345616322323&wfr=spider&for=pc

上传aab到Google Play

上传上一步生成的aab文件到Google Play Console
Google Play发布android app
提示我aab使用的target api level为30,低于31了,需要修改为至少31

解决方案就是修改项目的compileSdkVersion版本为31,但是项目里的compileSdkVersion还是保持30,会不会有问题呢?待后续研究,重点!!!

重新编译后上传,还是上传失败
Google Play发布android app
多了一个问题,提到了android;exported=false
官方指南 https://developer.android.com/about/versions/12/behavior-changes-12#exported

修改后,继续上传,还是报错
Google Play发布android app
尝试在GooglePlay应用商店去寻找这个包名的应用,没找到,经查询可能是已经下架的app曾经占用过这个包名
于是针对在GooglePlay市场发布的版本专门去更改包名
重新打包后上传,不报错了

点击右下角“检查发布内部测试”,有提示报错
Google Play发布android app

错误1:您的应用所用的 APK(版本代码:1)会请求以下权限:android.permission.CAMERA, android.permission.RECORD_AUDIO, android.permission.READ_PHONE_STATE。对于在 APK 中使用这些权限的应用,您必须设置隐私权政策。

怎么设置隐私权政策?
入口在
Google Play发布android app
Google Play发布android app
需要有自己的网页!

错误2:此版本含有尚未在 Play 管理中心内声明的权限。请转到“敏感的应用权限”,更新您的权限声明

Google Play发布android app
Google Play发布android app
尝试选择第一个

google play控制台然后会检测apk,针对当前apk,分析具体apk的敏感权限,结果。。。

这时候回到“当前应用”内部测试“-》”检查并发布版本“-》还是选择第二个错误 转到”敏感的应用权限“,点击
Google Play发布android app

所有文件访问权限(不具有普适性,针对具体apk)

点击”开始“
Google Play发布android app
Google Play发布android app
这个所有文件访问权限其实是android.permission.MANAGE_EXTERNAL_STORAGE,api level30上新增的
Google Play发布android app
而项目AndroidManifest.xml中的确有声明

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

解决方案:貌似这个权限针对该项目没什么特别作用,先删除看看
软件包安装请求权限(不具有普适性,针对具体apk)

Google Play发布android app
Google Play发布android app
REQUEST_INSTALL_PACKAGES 是api level 23 新增的
Google Play发布android app
而项目AndroidManifest.xml中的确有声明

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

解决方案:貌似这个权限针对该项目没什么特别作用,先删除看看

两个问题都解决后,上传报错直接提示需要提供隐私权政策
Google Play发布android app
回到之前的隐私权政策页面,输入app隐私权政策对应网址保存,然后继续重新上传包,成功

内部测试版本下载

控制台首页选择该应用,右侧选择“内部测试”,目前处于尚未审核状态(后续公开发布需要填写app所有信息并且审核通过才行),并且会有一个临时应用名称unreviewed,但是有相关测试人员提供的下载链接
Google Play发布android app

下载链接需要切换到tab页面“测试用户数量”查看,输入相关测试人员的邮箱后,底部有提供下载链接,点击复制即可,此下载链接会跳转到google play商店,如果商店登录google账户不是测试人员邮箱对应的google账户,则无法下载???

Google Play发布android app

如点击链接后,跳转
Google Play发布android app
点击download,跳转到google play商店下载

3.2 设置应用(如果只是百人内测,后续步骤即使不做也可以,但是如果要公开发布,从这里就要开始做,目标为了应用审核通过,不然包名始终是unreviewed)

Google Play发布android app

设置隐私权政策

已设置过,跳过

应用访问权限

已设置过,跳过

广告

Google Play发布android app
选择否

内容分级

Google Play发布android app

点击"开始填写"
Google Play发布android app
点击“下一步”

Google Play发布android app

Google Play发布android app

点击“保存”、“下一步”

Google Play发布android app
Google Play发布android app

Google Play发布android app

Google Play发布android app

直接点击“提交”

目标受众群体

Google Play发布android app
Google Play发布android app
Google Play发布android app
点击“保存”

新闻应用

Google Play发布android app

新冠肺炎 (COVID-19) 接触者追踪应用和感染状况应用

Google Play发布android app

数据安全(这是技术需要关注的重点!!!)

Google Play发布android app

Google Play发布android app
Google Play发布android app

因为之前就看到过app有申请
camera 拍照权限
record audio 录音权限
read phone state 读取设备状态权限

而这些权限都是google play定义的需要说明的权限

Google Play发布android app

Google Play发布android app
Google Play发布android app
这里只选择了“拍照”、“录音”,点击“下一步”
拍照权限说明
Google Play发布android app
Google Play发布android app

点击“保存”

录音权限说明
Google Play发布android app

Google Play发布android app
点击“保存”

Google Play发布android app

Google Play发布android app
点击“提交”

政府应用

Google Play发布android app

选择应用类别并提供详细联系信息

Google Play发布android app

Google Play发布android app
填写完所有信息后点击“保存”

设置商品详情

Google Play发布android app

Google Play发布android app

Google Play发布android app

Google Play发布android app

Google Play发布android app
上传完应用图标、置顶大图、效果图(手机、平板1.0寸、平板10.0寸)后,点击“保存”

至此,静静等待审核吧~

3.3.当然在发布正式版之前,需要看下发布前测试报告(因为之前有发布过内部测试版本,默认发布完内部测试版本后,google play自动会进行测试并生成发布前测试报告)

Google Play发布android app
可以看出问题挺多
这7台机器是谁测试的?play商店自动测试????

答:的确是play商店自己安排的测试
官网链接 https://support.google.com/googleplay/android-developer/answer/9842757?hl=zh-Hans

Google Play发布android app

先挑错误看

明确一点:这里的错误不是app本身运行报错,而是平台考虑,基于安全性之类的考量,强制给上架app加上限制要求

错误1:安全性问题-不安全的加密模式

Google Play发布android app

Google Play发布android app

提示存在不安全的加密模式,详情链接 https://support.google.com/faqs/answer/9450925

Google Play发布android app

而我们去看下项目依赖的三方库com.geetest.sensebot:sensebot:4.3.0
Google Play发布android app

修改方案:

查看项目虽然引入了依赖库,但是根本没有调用依赖库中相关api,于是直接删除依赖库重新打包

解决完所有错误后

重新打包,发布新的内部测试版本

打包上传完新的aab后,回到控制台-你的应用,查看发布前测试报告,可以看到,有提示“正在测试。测试过程通常需要 1 小时左右,但也可能会用更长时间。”
Google Play发布android app

安静等待测试报告吧

3.4.发布(这里特指正式版)

创建正式版本

Google Play发布android app
点击“创建新的发布版本”

Google Play发布android app

错误:无法上传aab,提示“已有版本使用版本号xxx”

Google Play发布android app
因为每次发布内部测试包的时候,google play都会存储包到内容库,点击上传新的aab,会对比内容库中包的版本号是否已经存在,存在则不允许上传,这时候可以点击“从内容库添加”
Google Play发布android app

选择之前测试没问题的包,点击“添加到版本”即可
Google Play发布android app
上传成功后,需要仔细填写版本说明,不同语言版本的,因为这是真实展示在play商店让用户看到的,不比内部测试版本,这里是针对全部用户开放的,必须仔细慎重

Google Play发布android app
填写完毕后,点击右下角“检查发布版本”

发起审核(竟然不是发布后自动审核)

选择左侧菜单栏”Production“
Google Play发布android app
或者选择左侧菜单栏”Dashboard“

Google Play发布android app

两个都可以

点击”Go to publishing overview“

Google Play发布android app

手动点击”Send xx changes for review“

Google Play发布android app
二次确认,提示审核最多需要7天,点击确认

等待审核完成

回到”Dashboard“,可以看到当前处于正在审核状态,最多等待7天

Google Play发布android app

3.5 技巧

发布内测包后测试有问题的话,怎么上传修改后的新内测包,要求不升级版本号,之前只能修改一次,升级下版本号,太傻瓜了

Google Play发布android app
Google Play发布android app
点击暂停测试,然后回到app bundle explorer中删除(经过验证,也找不到删除按钮,所以即使发布的内测包也删除不了?了??? 该方案失败)文章来源地址https://www.toymoban.com/news/detail-446664.html

到了这里,关于Google Play发布android app的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio Error: Google Play requires that apps target API level 30 or higher.

    Android Studio Error: Google Play requires that apps target API level 30 or higher. flyfish 在build.gradle增加

    2024年02月15日
    浏览(26)
  • Google用AI替代广告销售工作只是开始……

    关注卢松松,会经常给你分享一些我的经验和观点。 前几天Google不是裁员3万人吗,其中有一个信息值得关注:就是Google的广告部门的部分员工,也被裁员了。 当然这不新鲜的,主要原因是Google的广告业务正在转向AI驱动了,AI是裁员广告部门的最重要原因。 比如Google Ads产品

    2024年01月20日
    浏览(38)
  • Google Play 安全提示方案

    Google Play 保护机制可以保护从 Google Play 以外的来源安装的应用。当用户尝试安装应用时,Play 保护机制会根据 Google Play 保护机制已编入目录的已知有害或恶意样本对应用进行实时检查。此外,会向用户发出警告,或在极端情况下阻止安装。在你的应用没有上架Google 市场或者

    2024年02月03日
    浏览(45)
  • 国内手机安装 Google Play 服务 (GMS/Google Mobile Services)

    GMS(英语: Google Mobile Services), 是 Google 应用程序和 API 的集合。这些应用程序可以跨设备的无缝协作, 给您的设备提供出色的用户体验。 下载需注意 cpu 指令集架构, 如果不知道本机的可以下载通用架构版本 (Universal)。 可以从可靠的网站下载软件包, 到 www.apkmirror.com(需扶墙)下载

    2024年02月08日
    浏览(57)
  • App 出海实践:Google Play 结算系统

    作者:业志陈 现如今,App 出海热度不减,是很多公司和个人开发者选择的一个市场方向。App 为了实现盈利,除了接入广告这种最常见的变现方式外,就是通过提供各类虚拟商品或者是会员服务来吸引用户付费了,此时 Google Play 结算系统(Google Play’s billing system)就是 Andr

    2024年02月09日
    浏览(30)
  • 如何快速下载Google play里软件APK

      可能有些小伙伴为了某个APP而去安装Google应用商店下载,我之前也折腾过,但实在是太麻烦了。如果只是为了下载某个APP,不建议这样折腾。 下面分享一个快速方法 先找到你要下载的APP 然后复制你Google Play的链接  接着打开这个下载APK的网站 https://apps.evozi.com/apk-downloade

    2024年02月05日
    浏览(30)
  • 华为手机配置google play的几种方式

    介绍几种常见的方式 1、华为自带的谷歌商店,通过手机设置开启 。具体步骤如下: 1、进入华为手机设置界面,找到Googel, 2、点击Google,进入设置界面,点击解除即打开Google Play服务, Google Play 前名为Android Market,是一个由Google为Android设备开发的在线 华为自带的谷歌商店 2、在第三

    2024年02月11日
    浏览(37)
  • Google Play创建商品,手机支付,订单管理完整流程

    首先进入 Google Play Console 后台:https://play.google.com/console/u/0/developers/,找到对应的项目,点击进入项目。找到左侧的Produces--In-App produces(一次性商品), Produces--Subscriptions(订阅商品) 中文:商品--应用内商品和订阅 点击Create product 可以去创建商品,注意Product ID 在一个项目中是唯

    2024年02月16日
    浏览(51)
  • 安卓集成Google Play支付(谷歌支付)最新版本

    Google Play 支付文档:https://developer.android.com/google/play/billing/integrate Google Play 支付库已经升级到5.0了,相对之前的版本有不少的变化,现在记录下! 接入Google Play 流程还是和之前一样: 1.去Google console 申请开发者账号  https://play.google.com/console/   2.创建项目,上传APK 3.去Googl

    2024年02月09日
    浏览(29)
  • Java接入内购 Apple Pay、Google Play

    内购流程: 客户端向服务器发起请求生成预订单,服务器校验后生成预订单返回客户端。若调起支付界面后未支付,则通知服务器取消本订单。 客户端拿到预订单号后,在玩家完成付款操作后,携带预订单号请求支付平台,将预订单号存储在支付平台中,并获取支付凭证。

    2024年04月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包