Android应用程序在Google Play上正式发布

访客 438 0

文章目录

  • 说明
  • 1.注册开发者账户
    • 1.1 打开 https://play.google.com/console 会直接重定向到https://play.google.com/console/signup
    • 1.2 换一个google账户后,打开 https://play.google.com/console 也会直接重定向到https://play.google.com/console/signup,但是页面不一样,需要开启两步验证
  • 2.创建应用
  • 3.应用创建后的信息中心

      3.1 立即开始测试

      如果使用自建签名,则需要更改应用签名密钥 aab打包 aab转apks aab转apks 设备安装apks 问题 上传aab到Google Play 错误1:您的应用所用的 APK(版本代码:1)会请求以下权限:android.permission.CAMERA, android.permission.RECORD_AUDIO, android.permission.READ_PHONE_STATE。对于在 APK 中使用这些权限的应用,您必须设置隐私权政策。 错误2:此版本含有尚未在 Play 管理中心内声明的权限。请转到“敏感的应用权限”,更新您的权限声明。 所有文件访问权限(不具有普适性,针对具体apk) 软件包安装请求权限(不具有普适性,针对具体apk) 内部测试版本下载

      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

      提示需要注册开发者账户,个人还是单位?
      Android应用程序在Google Play上正式发布-第1张图片-谷歌商店上架

      选择个人
      Android应用程序在Google Play上正式发布-第2张图片-谷歌商店上架

      Android应用程序在Google Play上正式发布-第3张图片-谷歌商店上架

      有三项是必填
      Android应用程序在Google Play上正式发布-第4张图片-谷歌商店上架

      改成单位开发者账户
      Android应用程序在Google Play上正式发布-第5张图片-谷歌商店上架

      Android应用程序在Google Play上正式发布-第6张图片-谷歌商店上架

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

      Android应用程序在Google Play上正式发布-第7张图片-谷歌商店上架

      Android应用程序在Google Play上正式发布-第8张图片-谷歌商店上架
      Android应用程序在Google Play上正式发布-第9张图片-谷歌商店上架

      输入密码后,点击下一步
      Android应用程序在Google Play上正式发布-第10张图片-谷歌商店上架
      输入手机号,下一步
      Android应用程序在Google Play上正式发布-第11张图片-谷歌商店上架
      输入验证码,下一步
      Android应用程序在Google Play上正式发布-第12张图片-谷歌商店上架

      开启

      Android应用程序在Google Play上正式发布-第13张图片-谷歌商店上架
      手动关闭该页面,输入https://play.google.com/console,还是会跳到https://play.google.com/console/signup页面
      Android应用程序在Google Play上正式发布-第14张图片-谷歌商店上架

      在填写各种开发者(无论是个人还是单位)的信息之后

      请重新访问Google Play控制台,网址为https://play.google.com/console。

      Android应用程序在Google Play上正式发布-第15张图片-谷歌商店上架
      成功进入Play控制台

      2.创建应用

      Android应用程序在Google Play上正式发布-第16张图片-谷歌商店上架

      点击创建应用
      Android应用程序在Google Play上正式发布-第17张图片-谷歌商店上架

      Android应用程序在Google Play上正式发布-第18张图片-谷歌商店上架

      点击创建应用

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

      总共分成三大块

      立即开始测试
      设置应用
      发布应用
      Android应用程序在Google Play上正式发布-第19张图片-谷歌商店上架
      Android应用程序在Google Play上正式发布-第20张图片-谷歌商店上架

      3.1 立即开始测试

      Android应用程序在Google Play上正式发布-第21张图片-谷歌商店上架
      点击 “创建新版本”

      Android应用程序在Google Play上正式发布-第22张图片-谷歌商店上架
      点击“创建新的发布版本”

      Android应用程序在Google Play上正式发布-第23张图片-谷歌商店上架
      Android应用程序在Google Play上正式发布-第24张图片-谷歌商店上架

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

      点击“更改应用签名密钥”,会弹框提示
      Android应用程序在Google Play上正式发布-第25张图片-谷歌商店上架
      选择使用其他密钥
      有四个选项

      Android应用程序在Google Play上正式发布-第26张图片-谷歌商店上架
      Android应用程序在Google Play上正式发布-第27张图片-谷歌商店上架
      此处选择“从 Java 密钥库导出并上传密钥”
      1.下载 Play Encrypt Private Key (PEPK) 工具。下载源代码
      2.使用下面的命令运行该工具,导出您的私钥并将其加密。然后替换相应参数,在看到提示时分别输入密钥库和密钥的密码。

    使用以下命令将apk打包,并替换密钥文件名称为xxx.jks,别名为xxx.jks中的keyAlias:
    
    ```
    $ java -jar pepk.jar --keystore=xxx.jks --alias=keyAlias --output=output.zip --include-cert --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
    ``` 

    3.上传生成的zip文件

    为了增强安全性,请生成一个新的上传密钥(可选)。隐藏说明展开 创建一个新的上传密钥,并使用该密钥对应用的每个版本进行签名,而不是使用应用签名密钥进行签名。如果您丢失了上传密钥或者遭到盗窃,可以重置上传密钥并开始使用新的密钥。

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

    此处暂时没有创建所谓的“上传密钥”了,点击保存后,回到主页
    Android应用程序在Google Play上正式发布-第28张图片-谷歌商店上架
    自己上传的密钥生效了

    上传app bundle,注意这里只能上传aab文件,不支持上传apk?????
    Android应用程序在Google Play上正式发布-第29张图片-谷歌商店上架
    这里需要重新打包aab

    aab打包

    Android应用程序在Google Play上正式发布-第30张图片-谷歌商店上架
    不是上述路径,而是

    Android应用程序在Google Play上正式发布-第31张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第32张图片-谷歌商店上架
    注意这里“Export encrypted key for enrolling published apps in Google Play App Signing”,默认勾选,暂时没有用到

    Android应用程序在Google Play上正式发布-第33张图片-谷歌商店上架
    成功生成了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] 错误:从密钥库加载私钥和证书时出错。com.android.tools.build.bundletool.model.exceptions.CommandExecutionException: 从密钥库加载私钥和证书时出错。        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(BundleT 
    设备安装apks

    请参考以下命令格式:

    请使用以下命令来安装.apks文件:java -jar <bundletool.jar的路径> install-apks --apks=<上一步中生成的.apks文件路径>。请注意,由于本机使用的是bundletool-all-1.13.2.jar,因此需要使用jdk11启动jvm。 

    当本机开始运行时,会出现以下提示信息

    APK文件已经提取到目录:C:\Users\Administrator\AppData\Local\Temp\9626548363570726817。安装完成。 
    问题

    如果您的应用面向海外市场,我们建议优先使用Google Play市场发布应用。因此,aab格式是首选。但是,如何方便地进行机器测试aab呢?难道每次都需要手动运行这个jar程序两次吗?

    请参考以下链接获取更多信息: - [https://copyfuture.com/blogs-details/202207120550060058](https://copyfuture.com/blogs-details/202207120550060058) - [https://baijiahao.baidu.com/s?id=1739494345616322323&wfr=spider&for=pc](https://baijiahao.baidu.com/s?id=1739494345616322323&wfr=spider&for=pc)

    上传aab到Google Play

    上传上一步生成的aab文件到Google Play Console
    Android应用程序在Google Play上正式发布-第34张图片-谷歌商店上架
    提示我aab使用的target api level为30,低于31了,需要修改为至少31

    修改方案是将项目的compileSdkVersion版本更改为31,然而项目中的compileSdkVersion仍保持30。这样做是否会产生问题尚待进一步研究,非常重要!!!

    重新编译后上传,还是上传失败
    Android应用程序在Google Play上正式发布-第35张图片-谷歌商店上架
    多了一个问题,提到了android;exported=false
    官方指南 https://developer.android.com/about/versions/12/behavior-changes-12#exported

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

    点击右下角“检查发布内部测试”,有提示报错
    Android应用程序在Google Play上正式发布-第37张图片-谷歌商店上架

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

    怎么设置隐私权政策?
    入口在
    Android应用程序在Google Play上正式发布-第38张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第39张图片-谷歌商店上架
    需要有自己的网页!

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

    Android应用程序在Google Play上正式发布-第40张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第41张图片-谷歌商店上架
    尝试选择第一个

    在Google Play控制台上,会对上传的APK进行检测。针对当前的APK,系统会分析其具体的敏感权限,并给出相应结果。

    这时候回到“当前应用”内部测试“-》”检查并发布版本“-》还是选择第二个错误 转到”敏感的应用权限“,点击
    Android应用程序在Google Play上正式发布-第42张图片-谷歌商店上架

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

    点击”开始“
    Android应用程序在Google Play上正式发布-第43张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第44张图片-谷歌商店上架
    这个所有文件访问权限其实是android.permission.MANAGE_EXTERNAL_STORAGE,api level30上新增的
    Android应用程序在Google Play上正式发布-第45张图片-谷歌商店上架
    而项目AndroidManifest.xml中的确有声明

    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />解决方案:貌似这个权限针对该项目没什么特别作用,先删除看看
    软件包安装请求权限(不具有普适性,针对具体apk)

    Android应用程序在Google Play上正式发布-第46张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第47张图片-谷歌商店上架
    REQUEST_INSTALL_PACKAGES 是api level 23 新增的
    Android应用程序在Google Play上正式发布-第48张图片-谷歌商店上架
    而项目AndroidManifest.xml中的确有声明

    修改如下:
    
    解决方案:看起来这个权限对于该项目似乎没有特别的作用,建议先删除该权限并观察效果。 

    两个问题都解决后,上传报错直接提示需要提供隐私权政策
    Android应用程序在Google Play上正式发布-第49张图片-谷歌商店上架
    回到之前的隐私权政策页面,输入app隐私权政策对应网址保存,然后继续重新上传包,成功

    内部测试版本下载

    控制台首页选择该应用,右侧选择“内部测试”,目前处于尚未审核状态(后续公开发布需要填写app所有信息并且审核通过才行),并且会有一个临时应用名称unreviewed,但是有相关测试人员提供的下载链接
    Android应用程序在Google Play上正式发布-第50张图片-谷歌商店上架

    请在“测试用户数量”选项卡中查看并切换至下载链接。在输入相关测试人员的邮箱后,您将在底部找到可供下载的链接。点击复制即可使用。请注意,此下载链接将跳转至Google Play商店。如果您登录的Google账户与测试人员邮箱不匹配,则无法进行下载操作。

    Android应用程序在Google Play上正式发布-第51张图片-谷歌商店上架

    如点击链接后,跳转
    Android应用程序在Google Play上正式发布-第52张图片-谷歌商店上架
    点击download,跳转到google play商店下载

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

    Android应用程序在Google Play上正式发布-第53张图片-谷歌商店上架

    设置隐私权政策

    已经进行了设置,可以选择跳过。

    应用访问权限

    已经进行了设置,可以选择跳过。

    广告

    Android应用程序在Google Play上正式发布-第54张图片-谷歌商店上架
    选择否

    内容分级

    Android应用程序在Google Play上正式发布-第55张图片-谷歌商店上架

    点击"开始填写"
    Android应用程序在Google Play上正式发布-第56张图片-谷歌商店上架
    点击“下一步”

    Android应用程序在Google Play上正式发布-第57张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第58张图片-谷歌商店上架

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

    Android应用程序在Google Play上正式发布-第59张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第60张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第61张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第62张图片-谷歌商店上架

    直接点击“提交”

    目标受众群体

    Android应用程序在Google Play上正式发布-第63张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第64张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第65张图片-谷歌商店上架
    点击“保存”

    新闻应用

    Android应用程序在Google Play上正式发布-第66张图片-谷歌商店上架

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

    Android应用程序在Google Play上正式发布-第67张图片-谷歌商店上架

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

    Android应用程序在Google Play上正式发布-第68张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第69张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第70张图片-谷歌商店上架

    之前已经注意到该应用程序申请了以下权限:摄像头拍照权限、录音权限以及读取设备状态权限。

    而这些权限都是由Google Play定义的,需要进行解释。

    Android应用程序在Google Play上正式发布-第71张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第72张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第73张图片-谷歌商店上架
    这里只选择了“拍照”、“录音”,点击“下一步”
    拍照权限说明
    Android应用程序在Google Play上正式发布-第74张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第75张图片-谷歌商店上架

    点击“保存”

    录音权限说明
    Android应用程序在Google Play上正式发布-第76张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第77张图片-谷歌商店上架
    点击“保存”

    Android应用程序在Google Play上正式发布-第78张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第79张图片-谷歌商店上架
    点击“提交”

    政府应用

    Android应用程序在Google Play上正式发布-第80张图片-谷歌商店上架

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

    Android应用程序在Google Play上正式发布-第81张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第82张图片-谷歌商店上架
    填写完所有信息后点击“保存”

    设置商品详情

    Android应用程序在Google Play上正式发布-第83张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第84张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第85张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第86张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第87张图片-谷歌商店上架
    上传完应用图标、置顶大图、效果图(手机、平板1.0寸、平板10.0寸)后,点击“保存”

    至此,静静等待审核吧~

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

    Android应用程序在Google Play上正式发布-第88张图片-谷歌商店上架
    可以看出问题挺多
    这7台机器是谁测试的?play商店自动测试????

    回答:确实是Play商店自己安排的测试。你可以在官方网站上找到更多信息,链接为https://support.google.com/googleplay/android-developer/answer/9842757?hl=zh-Hans。

    Android应用程序在Google Play上正式发布-第89张图片-谷歌商店上架

    先挑错误看

    请注意,这里的错误并非是由于app本身运行报错,而是因为平台考虑到安全性等因素,强制对上架的app添加了限制要求。

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

    Android应用程序在Google Play上正式发布-第90张图片-谷歌商店上架

    Android应用程序在Google Play上正式发布-第91张图片-谷歌商店上架

    发现加密模式存在安全隐患,请点击此处了解更多信息:https://support.google.com/faqs/answer/9450925

    Android应用程序在Google Play上正式发布-第92张图片-谷歌商店上架

    而我们去看下项目依赖的三方库com.geetest.sensebot:sensebot:4.3.0
    Android应用程序在Google Play上正式发布-第93张图片-谷歌商店上架

    修改方案:

    尽管添加了依赖库,但从未使用过其中的相关API。因此,我们决定直接删除该依赖库并重新打包项目。

    解决完所有错误后

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

    打包上传完新的aab后,回到控制台-你的应用,查看发布前测试报告,可以看到,有提示“正在测试。测试过程通常需要 1 小时左右,但也可能会用更长时间。”
    Android应用程序在Google Play上正式发布-第94张图片-谷歌商店上架

    安静等待测试报告吧

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

    创建正式版本

    Android应用程序在Google Play上正式发布-第95张图片-谷歌商店上架
    点击“创建新的发布版本”

    Android应用程序在Google Play上正式发布-第96张图片-谷歌商店上架

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

    Android应用程序在Google Play上正式发布-第97张图片-谷歌商店上架
    因为每次发布内部测试包的时候,google play都会存储包到内容库,点击上传新的aab,会对比内容库中包的版本号是否已经存在,存在则不允许上传,这时候可以点击“从内容库添加”
    Android应用程序在Google Play上正式发布-第98张图片-谷歌商店上架

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

    Android应用程序在Google Play上正式发布-第100张图片-谷歌商店上架
    填写完毕后,点击右下角“检查发布版本”

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

    选择左侧菜单栏”Production“
    Android应用程序在Google Play上正式发布-第101张图片-谷歌商店上架
    或者选择左侧菜单栏”Dashboard“

    Android应用程序在Google Play上正式发布-第102张图片-谷歌商店上架

    两个都可以

    点击“前往发布概览”

    Android应用程序在Google Play上正式发布-第103张图片-谷歌商店上架

    请点击“发送修改内容以供审查”

    Android应用程序在Google Play上正式发布-第104张图片-谷歌商店上架
    二次确认,提示审核最多需要7天,点击确认

    等待审核完成

    在返回“仪表盘”后,您将能够查看当前处于审核中的状态,并且最长等待时间为7天。

    Android应用程序在Google Play上正式发布-第105张图片-谷歌商店上架

    3.5 技巧

    如果在发布内测包后出现测试问题,需要上传修复后的新内测包,但要求不更改版本号。之前只允许进行一次修改,因此必须升级版本号。这种限制有些不太方便。

    Android应用程序在Google Play上正式发布-第106张图片-谷歌商店上架
    Android应用程序在Google Play上正式发布-第107张图片-谷歌商店上架
    点击暂停测试,然后回到app bundle explorer中删除(经过验证,也找不到删除按钮,所以即使发布的内测包也删除不了?了??? 该方案失败)

标签: 密钥 版本 测试 权限

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~