ADB介紹
ADB全稱Android Debug Bridge, 是android sdk里的一個(gè)工具, 用這個(gè)工具可以直接操作管理android模擬器或者真實(shí)的andriod設(shè)備(如G1手機(jī))
它的主要功能有:
運(yùn)行設(shè)備的shell(命令行)
管理模擬器或設(shè)備的端口映射
計(jì)算機(jī)和設(shè)備之間上傳/下載文件
將本地apk軟件安裝至模擬器或android設(shè)備
配置ADB環(huán)境變量
打開:adt-bundle-windows-x86_64_20140101文件
找到adb.exe所在路徑
配置ADB_HOME環(huán)境變量
參考java環(huán)境變量配置
顯示成功:
ADB常用指令
查看設(shè)備:adb devices
這個(gè)命令是查看當(dāng)前連接的設(shè)備, 連接到計(jì)算機(jī)的android設(shè)備或者模擬器將會(huì)列出顯示
安裝軟件:adb install -r (APK路徑)
-r 代表如果apk已安裝梧乘,重新安裝apk并保留數(shù)據(jù)和緩存文件。apk路徑則可以直接將apk文件拖進(jìn)cmd窗口瘸羡,記得加空格嫁蛇。
卸載軟件
adb uninstall <軟件名>
adb uninstall -k <軟件名>
如果加 -k 參數(shù),為卸載軟件但是保留配置和緩存文件
問程序員--com.example.test
登錄設(shè)備shell
adb shell
adb shell
這個(gè)命令將登錄設(shè)備的shell.
后面加將是直接運(yùn)行設(shè)備命令, 相當(dāng)于執(zhí)行遠(yuǎn)程命令
查看手機(jī)內(nèi)存情況
adb shell dumpsys cpuinfo
查看內(nèi)存情況
adb shell getprop | findstr dalvik? 本機(jī)內(nèi)存的使用情況
查看應(yīng)用內(nèi)存使用情況
adb shell dumpsys meminfo +包名:應(yīng)用的內(nèi)存使用情況
列出手機(jī)裝的所有app的包名:
adb shell pm list packages
列出系統(tǒng)應(yīng)用的所有包名:
adb shell pm list packages -s
列出除了系統(tǒng)應(yīng)用的第三方應(yīng)用包名:
adb shell pm list packages -3
adb logcat 查看手機(jī)日志
adb logcat 命令格式 : adb logcat [選項(xiàng)] [過濾項(xiàng)], 其中 選項(xiàng) 和 過濾項(xiàng) 在 中括號(hào) [] 中, 說明這是可選的;
在命令行中輸入 adb logcat --help 命令, 就可以顯示該命令的幫助信息;
">"輸出 : ">" 后面跟著要輸出的日志文件, 可以將 logcat 日志輸出到文件中, 使用adb logcat > log 命令
指定 logcat 的日志輸出格式 :
-- "-v"選項(xiàng) : 使用adb logcat -v time 命令, 可以查看日志的輸出時(shí)間;
"process"格式 : " 優(yōu)先級(jí) (進(jìn)程ID) : 日志信息 ", 使用adb logcat -v process 命令;
將手機(jī)日志輸出到本地文件中
adb logcat -v time process > C:/log/aa.txt
有多臺(tái)設(shè)備是adb選擇設(shè)備
adb -s 設(shè)備名稱 logcat -v time process >C:/log/aa.txt
Android 的日志分為如下幾個(gè)級(jí)別:
V —— Verbose(最低某饰,輸出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高示损,啥也不輸出)
按某級(jí)別過濾日志則會(huì)將該級(jí)別及以上的日志輸出。
比如屯蹦,命令:adb logcat *:W? ? 將 Warning嘀趟、Error脐区、Fatal 和 Silent 日志輸出
顯示所有優(yōu)先級(jí)大于等于“warning”的日志
APK牢固性(加密)
應(yīng)用加固
防篡改:通過完整性保護(hù)和簽名校驗(yàn)保護(hù),能有效避免應(yīng)用被二次打包她按,杜絕盜版應(yīng)用的產(chǎn)生牛隅;
防逆向:通過對(duì)代碼進(jìn)行隱藏以及加密處理,使攻擊者無法對(duì)二進(jìn)制代碼進(jìn)行反編譯酌泰,獲得源代碼或代碼運(yùn)行邏輯媒佣;
防調(diào)試:通過反調(diào)試技術(shù),使攻擊者無法調(diào)試原生代碼或Java代碼陵刹,阻止攻擊者獲取代碼里的敏感數(shù)據(jù)默伍。
網(wǎng)上有很多Apk加固的第三方平臺(tái),最有名的應(yīng)當(dāng)屬于:愛加密和梆梆加固了衰琐。其實(shí)加固說的簡單點(diǎn)就是對(duì)源Apk進(jìn)行加密也糊,然后在套上一層殼即可