通过 Homebrew 安装安卓平台工具集

brew cask install android-platform-tools

ADB简介(android-platform-tools包含ADB)

Android调试桥( adb )帮助安卓设备和个人计算机之间的通信。

这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接。

adb 还可被用来与电脑上运行的安卓模拟器交流通信。

adb 便于安卓开发、安全研究。

keytool(android-platform-tools包含keytool)

apktool(通过brew安装 brew install apktool)

解包 APK

apktool d -f /Users/lin/Downloads/j.apk -o /Users/lin/Downloads/out

其中 *.apk 是被解包的 APK 文件名, out 是输出目录名称

(可以修改图片资源等文件)

重新打包:

java -jar /Users/lin/Downloads/apktool.jar b /Users/lin/Downloads/out

out 就是上面的输出目录

解压apk文件 得到dex ,把dex通过【dex2jar】处理,得到jar(即可看到java代码)

签名

开发者可对apk进行签名(也可以不签名)

签名默认使用"AndroidDebug证书"进行签名

jarsigner -verify -verbose -certs xxx.apk

查看签名

安装并打开“APK检查数字签名”程序,点击“menu”,选择“text”查看方式即可查看签名信息。

1、签名文件存放位置:解压APK文件后,META-INF目录下有签名文件。

2、签名文件用途:

可防止未经开发者证书签名的恶意应用覆盖安装应用。

可用于校验APK文件的完整性,通过将签名信息发送至服务端进行校验。

adb命令

向设备中安装软件:adb install apk

重新安装该软件:adb install -r

卸载apk软件:adb uninstall

查看手机上的运行日志,此项可以用来查错:adb logcat,可使用管道配合其它的命令来使用,例如:adb logcat | grep

查看哪些Android设备连接到了当前计算机上:adb devices,每个实例的输出都有如下固定的格式:[serialNumber] [state]

把文件从手机复制到电脑上:adb pull

把文件从电脑复制到手机上:adb push

进入手机的超级终端Terminal:adb shell

重新挂载文件系统:adb remount

重启手机:adb reboot

重启到Recovery界面:adb reboot recovery

重启到bootloader界面:adb reboot bootloader

查看bug报告:adb bugreport

记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:logcat -b radio

adb -s

如上所示,给一个命令指定了目标实例,这个目标实例使用由adb分配的序列号。你可以使用 adb devices 命令来获得运行着的模拟器或者设备实例的序列号