通过 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 命令来获得运行着的模拟器或者设备实例的序列号