/androidSigner

根据配置shell脚本自动批量化化apk签名工具,可选配置自定义功能

Primary LanguageShellApache License 2.0Apache-2.0

转载请标注原创地址:https://blog.csdn.net/lsyz0021/article/details/96499543

GitHub地址 https://github.com/lsyz0021/androidSigner

一提到给apk签名,大家或许想这还不简单,打开终端配置好“apksigner”命令一行不就搞定了,但是如果让你给100个apk签名,这样的签名方式还简单吗? 因为最近有经常要给apk签名的需要,并且有时候可能要同时给十几个apk签名,所以就想到了写个批量v2签名的shell脚本,写完之后使用感觉起来感觉也特别方便。想到或许其他人也可能会有这种需求,于是将他开源出来供大家使用。废话不多说先介绍功能!先使用 特点:

1、一键批量签名

2、可选配置项丰富

3、安全(担心配置文件泄露密码,密码为空即手动输入)

4、长期维护

注意使用前请先配置buildTools的路径

1、使用方式

#打开终端,克隆项目
git clone https://github.com/lsyz0021/androidSigner.git
#进入目录
cd androidSigner
#运行脚本
./signer.sh

2、设置配置文件

signerConfig.ini配置文件可以不使用,默认在当前目录下搜索,这时就需要手动输入所有的内容,并且不支持指定搜索目录和输出目录。 这里需要注意:由于apksigner命令是在25.0.0版本才出现的,所以buildTools配置的build-tools版本至少要是25.0.0。

#签名文件的位置
storeFile=./appkey.jks
#签名文件的密码
storePassword=123456
#key的别名
keyAlias=appkey
#key的密码
keyPassword=12345678
#sdk中build-tools的路径,apksigner命令25.0.0版本才出现
buildTools=/Users/wuge/sdk/build-tools/29.0.0/
#是否自动搜索指定目录,true:自动搜索,false:手动输入,no:需要选择获取方式
auto=no
#是否重复签名,已签名的apk名字上会加个“signer-”,true:如果搜索到会对该apk再次签名,false:不会再签名
repeatSigner=false
#指定搜索的apk的关键字(支持通配符*)
searchKey=app-release*.apk
#指定搜索目录,"."代表当前目录,不设置此值默认为当前目录
searchPath=.
#指定的apk文件
sourceApkPath=apk/app-release-01.apk
#指定输出目录,不设置默认为当前目录下的out目录
outPath=./out

3、执行脚本,选择“y”

配置好上面的内容之后,就可以执行signer.sh脚本了。配置文件默认auto=no,所以需要手动选择输入方式,下面是输入的y,开始在指定目录(searchPath=.表示当前目录)下开始自动搜索所有的apk,并且进行签名。 注意:如果auto=true,相当于自动输入了y,就自动进行搜索指定目录(searchPath=.)下的apk 在这里插入图片描述

4、生成获取签名apk

执行完signer.sh脚本,在指定的输出目录(outPath=./out)下生成了签名后的apk,每个签名成功的apk名字前面都会增加"signer-"前缀。默认情况下如果搜索到以signer-开头的apk不会重复签名,如果想重复签名则设置repeatSigner=true 在这里插入图片描述

5、执行脚本,选择“n”

运行signer.sh,我们输入n,这时就需要我们手动指定apk的路径了 注意:如果auto=false,相当于自动输入了n 在这里插入图片描述 根据自己的需求配置signerConfig.ini,即可灵活使用了。

6、不配置密码

如果你担心配置文件中的密码被泄露,完全可以手动输入,这样很好的避免了密码外泄。(甚至你都可以删除配置文件) 配置文件中设置storePassword=keyPassword=都是设置为空,这样就可以手动输入密码了。 在这里插入图片描述

7、删除配置文件

如果你认为使用配置文件太累赘,也可以删除他,然后手动配置选项。 在这里插入图片描述 GitHub地址 https://github.com/lsyz0021/androidSigner