背景
在 macOS 上想读取 APK 签名(SHA-1/SHA-256)时,官方推荐工具是 apksigner ,它随 Android SDK Build-Tools 发布。本文从零开始,带你把 sdkmanager 与 apksigner 一次性装到位。
1. 确认或准备 Android SDK
| 场景 | 操作 |
|---|---|
| 已装 Android Studio | 打开 Android Studio → Settings/Preferences → Languages & framworks → Android SDK → 复制 Android SDK Location 路径(下文用 /Users/your_name/Library/Android/sdk 示例)。 |
| 仅要命令行 | 到 谷歌官网 下载 Command line tools only ,解压成如下结构: ~/android-sdk/cmdline-tools/latest/bin/sdkmanager |
2. 安装 Build-Tools(含 apksigner)
bash
# 任选 ≥ 24 的版本即可,这里以 34.0.0 为例
/Users/your_name/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;34.0.0"
若提示目录不存在,先创建
cmdline-tools/latest正确层级,或直接用 Android Studio 内置的 SDK Manager 勾选 Android SDK Build-Tools 34.0.0 安装。
3. 把 apksigner 加入 PATH(zsh 示例)
bash
# 1) 立即生效
export PATH=$PATH:/Users/your_name/Library/Android/sdk/build-tools/34.0.0
# 2) 写入 shell 启动脚本,永久生效
echo 'export PATH=$PATH:/Users/your_name/Library/Android/sdk/build-tools/34.0.0' >> ~/.zshrc
source ~/.zshrc
4. 验证安装
bash
apksigner version
# 正常输出类似 0.9 或 1.0
5. 读取 APK 签名指纹
bash
apksigner verify -v --print-certs my.apk | grep -E 'SHA-1|SHA-256'
输出示例(30.0.0+ 默认无冒号):
Signer #1 certificate SHA-1 digest: a1b2c3d4e5f6...
Signer #1 certificate SHA-256 digest: 4eb5770c6e13...
6. 一键脚本(懒人版)
把下面整块复制到终端即可:
bash
SDK=/Users/your_name/Library/Android/sdk
$SDK/cmdline-tools/latest/bin/sdkmanager "build-tools;34.0.0"
echo "export PATH=\$PATH:$SDK/build-tools/34.0.0" >> ~/.zshrc && source ~/.zshrc
apksigner version
看到版本号即代表环境 OK,后续任意 APK 都能快速读出签名。