Skip to content

title: 工作 author: 書蟲 tags:

  • 工作記錄 categories:
  • 工作 date: 2021-01-08 15:37:00 top: false

日常使用的命令

adb命令

獲取trace檔案的命令

獲取崩潰日誌或者ANR日誌可以透過命令

adb shell dumpsys dropbox --print >> fatal_log.txt

上面的命令在獲取ANR日誌時可能不完整,這時候可以使用命令

adb bugreport

啟動一個activity命令列

adb shell am start -n com.chaozh.iReaderFree/com.zhangyue.iReader.online.ui.booklist.ActivityBookListAddBook

Monkey命令

adb shell monkey -v -s 10 --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent 5 --pct-trackball 0 --pct-syskeys 0 -p com.chaozh.iReaderFree 5000 > ~/Desktop/monkey.txt

Gradle命令

檢視依賴

./gradlew -q iReader:dependencies --configuration debugRuntimeClasspath

查詢崩潰日誌SQL

根據crash日期、包名、渠道號、版本號、使用者賬號查詢

select systemverison,packagename,channelid,romname,versioncode,lcdtype,clientsource,substr(errormsg,0,24000) as errormessage,versionname,phonemodel,id,from_unixtime(cast(cast(crashtime as bigint)/1000 as bigint),'yyyy-MM-dd HH:mm:ss'),userid,screeninsh,othermsg,clientversion,uploadtime from android_ireader_crash where ds>='2019-11-12' and errormsg like '%com.zhangyue.module.ad%' and errormsg not like '%android.content.res.Resources$NotFoundException%' and channelid in ('122004', '122003') and channelid not in ('107105') and packagename = 'com.chaozh.iReaderFree' and userid = 'i926451814' ;

開發工具

APK反編譯

http://www.devio.org/2018/05/08/Android-reverse-engineering-for-mac/

一、ApkTool將APK反編譯成資原始檔

cd 目標xxx.apk路徑
apktool d xxx.apk //該命令執行後會在同級目錄下生成一個與你編譯的apk同名的目錄

二、dex2jar將dex反編譯成jar

解壓apk獲得dex檔案

cd ~/development/dex2jar-2.0
sh d2j-dex2jar.sh classes.dex
sh d2j-dex2jar.sh classes2.dex

Jadx

這個工具用來閱讀反編譯的jar是非常方便的

iTerm2+oh-my-zsh+Dracula

https://blog.csdn.net/AugustDY/article/details/99320037

Charles

使用Charles在安卓手機上抓包
  1. 確保電腦和手機連線入同一個WiFi
  2. 開啟Charles,選擇help -> SSL Proxying -> install on a mobile device
  3. 在手機上WiFi下選擇手動設定代理。具體設定的ip地址和埠是:從Charles彈窗中獲取
Charles授權碼線上生成

https://www.charles.ren/?nsukey=d5cRTbwnWXn8WTJpd%2FGj1saelhRXyn2rZL77Xr1OrjVnyJ5RbeSzPZKhXJzwn6xxN3VjRk7rb%2B8fmkoFiR9G3IqQRqRx6Urjf2uIe5yLR%2BaRkyWBxtB1gHhBWxHXTmsh%2Fx4w6Gdsv4axnOoJ3brJuQ%3D%3D