macOS 上安装与配置apksigner (读取APK签名的工具)

背景

在 macOS 上想读取 APK 签名(SHA-1/SHA-256)时,官方推荐工具是 apksigner ,它随 Android SDK Build-Tools 发布。本文从零开始,带你把 sdkmanagerapksigner 一次性装到位。


1. 确认或准备 Android SDK

场景 操作
已装 Android Studio 打开 Android Studio → Settings/PreferencesLanguages & framworksAndroid 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 都能快速读出签名。

相关推荐
wxson728219 小时前
【Android视频监控系统技术总结】
android·音视频
hunterandroid20 小时前
[Android 从零到一] LiveData 粘性事件与单次消费:从重复触发到可靠事件总线
android
hunterandroid21 小时前
[Android 从零到一] Android 事件分发机制:从 ACTION_DOWN 到 View 事件消费链路
android
阿巴斯甜21 小时前
adb‑shell 全套命令实操总结
android
奔跑的架构师1 天前
[A-49]ARMv9/v8-PSCI接口规范与工作流程简介
android·linux·arm开发·arm
AFinalStone1 天前
Android 7系统国际化(七)Resources 与 AssetManager 源码剖析
android·国际化·local
Android-Flutter1 天前
Android 内存泄漏详解
android·kotlin
catchadmin1 天前
Fiber 与 PHP 8.6 Polling API 异步初探
android·开发语言·php
Android-Flutter1 天前
android Handler , Looper , Message , MessageQueue 详解
android·kotlin