Android
- 安卓
- APK 下载
- 版本
- Play 2018.8 要求最低 API Level 26 - Android 8.0
- Android version market share distribution among smartphone owners as of September 2018
- Device Id
Shell
# Simulate fast tap
# /mnt/sdcard/events 是从 dev 中获取到的
adb shell "while true;do cat /mnt/sdcard/events > /dev/input/event1 && sleep 0.01; done;"
# 设备 ID
adb shell settings get secure android_id
# 查看当前 Activity 的名字
adb shell dumpsys activity | grep mFocusedActivity
# 串号
adb shell getprop ro.serialno
# 查看设备 信息 Android < 5.0
adb shell dumpsys iphonesubinfo
# 通过 TCP 链接
adb tcpip 5555
adb connect 192.168.0.101:5555
adb shell ip -f inet addr show wlan0
# 恢复为 USB 链接
adb usb
# 服务调用
# http://ktnr74.blogspot.com/2014/09/calling-android-services-from-adb-shell.html
# 获取 IMEI
adb shell service call iphonesubinfo 1 | awk -F "'" '{print $2}' | sed 's/[^0-9A-F]*//g' | tr -d '\n' && echo
# 1 getDeviceId
# 2 getDeviceIdForSubscriber
# 3 getImeiForSubscriber
# 4 getDeviceSvn
# 5 getSubscriberId
# 6 getSubscriberIdForSubscriber
# 7 getGroupIdLevel1
# 8 getGroupIdLevel1ForSubscriber
# 9 getIccSerialNumber
# 10 getIccSerialNumberForSubscriber
# 11 getLine1Number
# 12 getLine1NumberForSubscriber
# 13 getLine1AlphaTag
# 14 getLine1AlphaTagForSubscriber
# 15 getMsisdn
# 16 getMsisdnForSubscriber
# 17 getVoiceMailNumber
# 18 getVoiceMailNumberForSubscriber
# 19 getCompleteVoiceMailNumber
# 20 getCompleteVoiceMailNumberForSubscriber
# 21 getVoiceMailAlphaTag
# 22 getVoiceMailAlphaTagForSubscriber
# 23 getIsimImpi
# 24 getIsimDomain
# 25 getIsimImpu
# 26 getIsimIst
# 27 getIsimPcscf
# 28 getIsimChallengeResponse
# 29 getIccSimChallengeResponse
# 获取屏幕上的颜色
# <bytes per pixel> 一般为4
# <pixel offset> = Y * width + X
# 需要 ROOT 权限
adb shell "dd if=/dev/graphics/fb0 bs=<bytes per pixel> count=1 skip=<pixel offset> 2>/dev/null | hd"
# 获取屏幕宽度
adb shell getprop ro.sf.lcd_density
# 拉取所有照片
adb pull /mnt/sdcard/DCIM/
# 短信
# 数据库文件需要 root 权限
# /data/data/com.android.providers.telephony/databases/mmssms.db
# 可使用 APP 备份然后下载
# https://play.google.com/store/apps/details?id=com.riteshsahu.SMSBackupRestore
# 备份后拉取即可
adb pull /mnt/sdcard/SMSBackupRestore
Touch Event
# 查看所有的设备,有 MT_TOUCH 为触摸设备
getevent -pl
# 假设 /dev/input/event1 为触摸设备
# 记录所有的操作, 需手动中断
cat /dev/input/event1 > event-dump
# 回放记录的操作
cat event-dump > /dev/input/event1
# 可命令行操作 tap
input tap 233 466
# 查看所有操作的事件
getevent -l
将 HttpClient 的日志输出到 Logcat
代码
java.util.logging.Logger.getLogger("org.apache.http.wire").setLevel(java.util.logging.Level.FINEST);
java.util.logging.Logger.getLogger("org.apache.http.headers").setLevel(java.util.logging.Level.FINEST);
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug");