app发布前要做的几件事

时间:2022-11-29 07:54:34

最近把一个小东西做完了,想上架让大家用一下。在上架之前关于app需要做的几件事在此备忘一下。

1、app签名。

我用的是android studio 21.2.1版,签名跟之前的版本可能不同(我之前用的是3.5),但也大同小异。21.2.1版的签名页面是这样的:

app发布前要做的几件事

 继续下一步,再下一步直到完成,就生成了一个已签名的apk。位置:“项目名\app\release”

2、手动签名。因为后面有些步骤必须要用到用手动签名,所以这个也必须要会。

要用到两个工具:

keytool:生成数字证书(秘钥文件)工具(其实我觉得这个可以不学,把上面签名页面保存的密钥文件拷过来就可以用了。一样的,所以不会也行。)

jarsigner:app签名工具。

以上两个工具在android studio的安装目录下的bin下面,类似下面(版本21.2.1):

C:\Program Files\Android\Android Studio\jre\bin

最好把环境变量加进去,这样就在哪个目录下都可以用了。像这样:

app发布前要做的几件事

 注意:这两个工具都是在dos窗口下使用。

keytool用法:

 keytool -genkey -v -keystore newarea.keystore -alias key2 -keyalg RSA -validity 20000

 说明:
      1)-genkey生成数字证书操作,-v打印证书详细信息;
      2)newarea.keystore数字证书的文件名;
      3)-alias key2证书别名为key2,起啥名都名,后面要用到;
      4)-keyalg RSA 密钥文件算法为RSA;
      5)-validity 20000 数字证书的有效期为20000天;

然后dosp窗口会提示输入一些信息,类似android studio里面关于密钥的信息:

app发布前要做的几件事

 但好像是中文的,我没用过。上面最后的国家代码是两位英文,中国是CN。

jarsigner用法:(把apk文件和证书文件最好放在一起,这样方便写命令。)

jarsigner -verbose -keystore Newaeratutov1.keystore -signedjar signed.apk newareaautover.apk key2

1)-verbose显示签名过程详细信息;

2)-keystore Newaeratutov1.keystore签名所使用的数字证书名及位置;

3)-signedjar signed.apk 签名后的文件名为signed.apk,不删除原文件(要删除原文件,去掉就行);

4)key2证书的别名,对应生成数字证书时-alias参数后面的名称.

注意:如果重复签名会出错,我遇到的是这样的:

jarsigner: java.lang.SecurityException: invalid SHA1 signature file digest for res/XS.xml

解决办法:用RAR打开要签名的apk文件,删除:META-INFO文件夹。只有签过名才有这个文件夹。

验证签名是否成功:

jarsigner -verify signed.apk 会得到类似下面的返回信息:

app发布前要做的几件事

 那些警告是什么意思我也不知道,反正能用。

到这关于签名就完成了。

3、apk加固,这个要不要做就看个人了,我觉得要做一下,虽然apk反编译很容易,但也不能白给,所以还是加固一下。我不知道哪里的加固好,我只用过腾讯云的。

app发布前要做的几件事

 地址:https://console.cloud.tencent.com/ms/reinforce/list/basic  要微信扫码登录。我用的是基础版加固,估计企业版要钱。

再后面就要真正上架了,还需要软著,这个很麻烦,自己做不用钱,但时间最少30个工作日,花钱就会快,听有的5天就能下来,价钱400到1400不等,阿里云的我看了,好像是1040元。30天。但是没软著,所有的大平台都上不了架,我现在只在酷安做了,但我看了下说明,好像没软著也要下架的。先看看吧。