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