通過(guò) Homebrew 安裝安卓平臺(tái)工具集
brew cask install android-platform-tools
ADB簡(jiǎn)介(android-platform-tools包含ADB)
Android調(diào)試橋( adb )幫助安卓設(shè)備和個(gè)人計(jì)算機(jī)之間的通信。
這種通信大多是在USB電纜下進(jìn)行,但是也支持Wi-Fi連接。
adb 還可被用來(lái)與電腦上運(yùn)行的安卓模擬器交流通信。
adb 便于安卓開發(fā)、安全研究。
keytool(android-platform-tools包含keytool)
apktool(通過(guò)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通過(guò)【dex2jar】處理,得到j(luò)ar(即可看到j(luò)ava代碼)
簽名
開發(fā)者可對(duì)apk進(jìn)行簽名(也可以不簽名)
簽名默認(rèn)使用"AndroidDebug證書"進(jìn)行簽名
jarsigner -verify -verbose -certs xxx.apk
查看簽名
安裝并打開“APK檢查數(shù)字簽名”程序,點(diǎn)擊“menu”,選擇“text”查看方式即可查看簽名信息。
1、簽名文件存放位置:解壓APK文件后,META-INF目錄下有簽名文件。
2、簽名文件用途:
可防止未經(jīng)開發(fā)者證書簽名的惡意應(yīng)用覆蓋安裝應(yīng)用。
可用于校驗(yàn)APK文件的完整性,通過(guò)將簽名信息發(fā)送至服務(wù)端進(jìn)行校驗(yàn)。
adb命令
向設(shè)備中安裝軟件:adb install apk <文件名稱.apk>
重新安裝該軟件:adb install -r <apk文件名稱.apk>
卸載apk軟件:adb uninstall <apk包名.apk>
查看手機(jī)上的運(yùn)行日志,此項(xiàng)可以用來(lái)查錯(cuò):adb logcat,可使用管道配合其它的命令來(lái)使用,例如:adb logcat | grep <APK程序名稱>
查看哪些Android設(shè)備連接到了當(dāng)前計(jì)算機(jī)上:adb devices,每個(gè)實(shí)例的輸出都有如下固定的格式:[serialNumber] [state]
把文件從手機(jī)復(fù)制到電腦上:adb pull <手機(jī)路徑> <電腦路徑>
把文件從電腦復(fù)制到手機(jī)上:adb push <手機(jī)路徑> <電腦路徑>
進(jìn)入手機(jī)的超級(jí)終端Terminal:adb shell
重新掛載文件系統(tǒng):adb remount
重啟手機(jī):adb reboot
重啟到Recovery界面:adb reboot recovery
重啟到bootloader界面:adb reboot bootloader
查看bug報(bào)告:adb bugreport
記錄無(wú)線通訊日志: 一般來(lái)說(shuō),無(wú)線通訊的日志非常多,在運(yùn)行時(shí)沒必要去記錄,但我們還是可以通過(guò)命令,設(shè)置記錄:logcat -b radio
adb -s <serialNumber> <command>
如上所示,給一個(gè)命令指定了目標(biāo)實(shí)例,這個(gè)目標(biāo)實(shí)例使用由adb分配的序列號(hào)。你可以使用 adb devices 命令來(lái)獲得運(yùn)行著的模擬器或者設(shè)備實(shí)例的序列號(hào)