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

背景

在 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 都能快速读出签名。

相关推荐
三少爷的鞋18 小时前
Android 架构七条铁律:架构师真正设计的不是代码,而是秩序
android
xiangxiongfly91519 小时前
Android GsonFactory总结
android·gson·gsonfactory
WythePlus21 小时前
Android 14 SELinux策略深度解析
android·安全策略·selinux策略
FPGA小迷弟1 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
俩个逗号。。1 天前
Kotlin flow 详解
android·开发语言·kotlin
橙光成长1 天前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节
深圳雨林凯AI1 天前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx1 天前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
恋猫de小郭1 天前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_916008891 天前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview