+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

mac 下使用 android studio 自带的 apksigner 签名指南

为什么要给Android应用程序签名? + 拿到一个应用的安装包,能够知道作者是谁。 + 当应用更新时,能够检测是不是作者本人提交的。 + 应用中的部分文件遭到修改时,能够检测到是否为作者本人做出的修改 为了实现上述目的,Android就引入了签名这种比较成熟的方法。 可以使用jdk自带的签名工具jarsigner来签名,但是jarsigner只支持v1签名,为了满足各个版本的需要,只有v1签名是不够的,有些应用市场对于只有v1签名的应用不提供上线和更新支持。 android studio自带的apksigner支持v1、v2和v3签名。 虽然安装了android studio,但是直接在mac下使用apksigner命令签名会报错命令找不到 command not found: apksigner。 1,找到你的 build-tools版本 如果你不知道自己的build-tools版本是多少,打开一个android项目,在 build.gradle 中搜索 buildToolsVersion,就是你的 build-tools版本。 2,设置apksigner环境变量 打开文件 /Users/xxx/.bash_profile,在文件末尾添加如下内容 ``` export AAPT_HOME=/Users/xxx/Library/Android/sdk/build-tools/<build-tools版本> export PATH=$PATH:$AAPT_HOME ``` 3,运行命令使配置生效 ``` source /Users/xxx/.bash_profile ``` 4,签名 apksigner签名的格式如下 ``` apksigner sign --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true --ks <签名文件路径> --ks-key-alias <签名文件别名> --ks-pass pass:<签名文件密码> --in <待签名apk路径> --out <签名后输出的apk路径> ``` 说明: + “--v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled” 根据你的需要是否使用v1/v2/v3签名 + “--ks-key-alias <签名文件别名>” 不是必须的
我的笔记
你可能想看的