- adb install
INSTALL_FAILED_TEST_ONLY 问题解决
在工程根目录 gradle.properties 文件中添加如下一行
android.injected.testOnly=false - adb 获取 framework,用于反编译
cp -r /system/framework /sdcard/framework
adb pull /sdcard/framework - 获取设备上已安装应用的apk路径,可以pull出来,进行逆向研究
adb shell pm path com.xbb.providerdemo
package:/data/app/~~kiIwFPTapqRWYB4Bq0ZvSw==/com.xbb.providerdemo-lrLCMIs-3T1lzN9LYel-7g==/base.apk - 使用 adb shell pm 获取安装包的各种信息
- 强行停止应用
执行adb shell am force-stop 包名 即可强行关闭进程,eg: adb shell am force-stop com.xxx.xxx
执行adb shell am start -n 包名/启动类的名称 , eg: adb shell am start -n com.xxx.xxx/com.xxx.xxx.SplashActivity - 编译运行demo
gradlew :app:assembleDebug
adb install -r app\build\outputs\apk\debug\app-debug.apk
adb shell am start -n “sun.com.arouterdemojava2/sun.com.arouterdemojava2.MainActivity” -a android.intent.action.MAIN -c android.intent.category.LAUNCHER - monkey 测试
adb shell monkey -p com.meta.xyx -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 100000 > D:\monkey.txt
停止monkey,输入 ps|grep monkey,杀进程 - 指定机器
adb -s 指定机器,-d 唯一真机,-e 唯一模拟器
adb -s 4f100311 install app/build/outputs/apk/app-debug.apk #安装这个apk到指定的机器上
adb -s d51ad9ff shell # 进入这个机器的shell
无线debug
连接数据线后执行 adb tcpip 5555
然后通过pc执行命令连接
192.168.74.47
adb connect 192.168.74.47:5555
adb disconnect 192.168.43.1:5555
adb connect 172.16.29.42:5555
可以通过socket指定机器来执行相应的命令 adb -s 192.168.43.1:5555
- 查看activity
adb shell dumpsys activity activities - 输入文本
在手机上获得焦点的Edit text中输入文本 adb shell input text “text” - 双清
adb shell pm clear - 查看设备已安装应用列表
adb shell pm list packages - getprop setprop
获取和设置系统属性列表 - 显示通知栏信息
adb shell dumpsys notification - adb reboot recovery
- 通过命令启动指定的service
adb shell am startservice -n com.cleanmaster.mguard_cn/com.cleanmaster.pc.PcConnectService - 使用sqlite3 database.db 查看数据库
- 将 apk push 到系统应用目录下
要push到 system/priv-app 目录下, 先 执行 adb root , adb remount, 如果adb remount失败, 执行adb disable-verity, 然后adb reboot, 然后adb root, adb remount, 最后adb push xxx.apk system/priv-app - 查看 AndroidManifest
adb shell dumpsys package com.wandoujia.phoenix2 - 查看手机型号 cat /system/build.prop | grep brand
- 查看手机cpu信息 cat /proc/cpuinfo
- 使用 adb install 安装包出现 Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI] 解决办法
android:testOnly=“true” 去掉
gradle 不要使用 alpha 版本
先 push 再安装 adb push .apk /tmp; adb shell pm install -t /tmp/.apk
使用 -t 选项 adb install -t *.apk - /system/framework/arm/boot.oat 手机上framework jar包放在这个地方
- 强制停止应用
adb shell am force-stop com.baidu.naviauto - android手机截屏命令
adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard)
adb pull /sdcard/screenshot.png d:/screenshot.png(保存到电脑) - 录像
adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 90 /sdcard/demo.mp4
adb shell screenrecord --size 1920x720 --bit-rate 6000000 --time-limit 10 /sdcard/demo.mp4 && adb pull /sdcard/demo.mp4 ~/
adb shell screenrecord --size 1080x1920 --bit-rate 6000000 --time-limit 60 /sdcard/demo.mp4 && adb pull /sdcard/demo.mp4 ~/
adb shell screenrecord --size 1080x1920 --bit-rate 6000000 --time-limit 60 /sdcard/demo.mp4 && adb pull /sdcard/demo.mp4 .
1080x1920 - anr 目录 data\anr\traces.txt
cat /system/build.prop 得到系统属性
取anr, adb bugreport - adb shell dumpsys window displays 可以得到屏幕,还有其他一些信息,有时间可以看下
- 查看包安装路径 adb shell pm list packages -f | grep com.android.settings
adb root; adb remount; adb push app/build/outputs/apk/BaiduMapAuto-2.1.8.0.13-qa-debug.apk /system/priv-app/; adb reboot
adb disable-verity
mount -o rw,remount -t ext4 /dev/root - adb get-serialno
apk安装为系统应用
adb disable-verity # 解锁 system 分区,只需执行一次,重启车机后仍然有效
adb root # 取得 root 权限
adb remount # 重新挂载系统分区
adb push BaiduMapAuto-2.1.8.0.13-qa-release.apk /system/priv-app # 将 apk push 到系统应用目录下
新建 lib 子目录,只需执行一次
adb shell
su # 取得 root 权限
mount -o rw,remount -t ext4 /dev/root # 将 system 分区挂载为可写
mkdir /system/lib/BaiduMapAuto-2.1.8.0.13-qa-release # 改目录的名称必须和 apk 名称一致
exit;exit # 退出 adb shell
so push 到 lib
cd /opio-boa/app/build/outputs/apk # 跳转到 apk 编译目录
unzip BaiduMapAuto-2.1.8.0.13-qa-release.apk # 解压 apk
adb push lib/armeabi/*.so /system/lib/BaiduMapAuto-2.1.8.0.13-qa-release # 将所有 so push 到指定目录
adb reboot # 重启车机,该命令偶现车机重启失败,可以断电重启
卸载系统应用
重新挂载系统分区后,直接删除 apk 文件,重启
替换安装
直接 push,可以不重启
修改屏幕亮度
第二批硬件有bug,重启之后,屏幕不亮,在root用户权限下使用如下命令
echo 100 > sys/class/leds/HDMI/brightness
获取屏幕分辨率
adb shell dumpsys window displays
1920 1080
截屏脚本
#!/usr/bin/env bash
fileName=``date “+%Y%m%d%H%M%S”`
adb shell /system/bin/screencap -p /sdcard/screenshot.png
filePath=./${fileName}.png
echo ${filePath}
adb pull /sdcard/screenshot.png ${filePath}
#!/usr/bin/env bash
adb shell /system/bin/screencap -p /sdcard/screenshot.png && adb pull /sdcard/screenshot.png ~/
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4 && adb pull /sdcard/demo.mp4 ~/
使用手机网络
设置 -》网络和连接 -》更多连接方式 -》USB网络共享
back
#!/usr/bin/env bash
adb shell input keyevent 4
home
#!/usr/bin/env bash
adb shell input keyevent 3
启动activity
#!/usr/bin/env bash
adb shell am start com.navi.tracker/.NaviTrackerActivity
#!/usr/bin/env bash
adb shell am start com.android.settings/.Settings
录屏
#!/usr/bin/env bash
adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 90 /sdcard/psr.mp4
adb pull /sdcard/psr.mp4 ~/