adb 常用命令

ADB简介:
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。


1、打印当前应用页面的 packageName

(1)adb shell dumpsys activity | findstr "mResume"
(2)adb shell dumpsys activity | findstr "Resume"
(3)adb shell dumpsys window | findstr mCurrentFocus

2、获取当前应用的位置

adb shell pm list package -f | findstr "packageName"
adb pull packageName位置 Desktop    --将apk拉出来放到桌面

3、手机 root

root 时需要连接外网
开发者选项---》打开OEM解锁  需要等一下 有些登录过Google账号的直接就OEM锁打开了
adb root 
adb remount
adb disable-verity  
adb reboot bootloader  --- 进入 fastboot 模式 
fastboot flashing unlock ---接着长按音量+键
fastboot reboot 

adb root
adb remount
adb disable-verity
adb reboot 

adb root 
adb remount 

4、打印堆栈信息

(1)adb shell 
	dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'
	
(2)adb shell "dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'"

5、抓取log

adb logcat 
adb logcat -c  清空日志
adb bugreport 

adb 打印实时log:
adb shell logcat | grep -Ei "关键字"

6、打印系统属性值

adb shell getprop 

7、卸载系统 APP 命令 详细查看

获取当前焦点界面的包名
adb shell dumpsys window | findstr mCurrentFocus

卸载 APP
adb shell pm uninstall -k --user 0 packageName  

比如卸载自带浏览器:adb shell pm uninstall -k --user 0 com.android.browser   

清除缓存:
adb shell pm uninstall --user 0 com.android.browser

8、查看及修改手机屏幕密度和分辨率

查看分辨率
adb shell wm size

输出示例:
Physical size: 1080x1920

修改分辨率
adb shell wm size 480x1024

输出示例:
Physical size: 1080x1920
Override size: 480x1024

查看屏幕密度
adb shell wm density

输出示例:
Physical density: 420

修改屏幕密度
adb shell wm density 480

输出示例:
Physical density: 420
Override density: 480

9、修改 APK 的编译模式

查看 apk 的编译模式
adb shell dumpsys package packName

修改 apk 的编译模式
(1) adb shell pm compile -m 模式 -f packageName   	
(2) adb shell cmd package compile -m 模式 packageName

10、录屏和截图的命令

录制test.mpp4文件放在sdcard下
adb shell screenrecord /sdcard/test.mp4  
录制screen.png图片在sdcard下
adb shell screencap -p /sdcard/screen.png 

11、查看手机所有安装的 APP

adb shell pm list package
adb shell pm list package -f   ----获取系统安装的 APP
adb shell pm list package -3   ----获取三方应用 APP

12、事件输入

adb shell input text "一长串大小写字母数字标点组合的字符串"

13、查看数据库中字段的值

以Settings进行举例:
查看数据库中的字段值
adb shell dumpsys settings get global 字段
给数据库写入新的值
adb shell dumpsys settings set global 字段 value

14、设置模拟电量

模拟手机电量
adb shell dumpsys batterystat set level X   X--代表手机电量的百分比 
恢复实际状态
adb shell dumpsys batterystat reset

15、使用adb shell dumpsys activity 查看信息,会有很长的代码,分析其结构,可以把上述命令得到的信息拆分为

dumpsys activity intents
dumpsys activity broadcasts
dumpsys activity providers
dumpsys activity permissions
dumpsys activity services
dumpsys activity recents
dumpsys activity activities
dumpsys activity processes

备注:我们可以选择这几个中的一个命令进行查询。例如查看界面相关的,
使用adb shell dumpsys activity activities命令。
上述几种信息类型可以用缩写来表示,
即adb shell dumpsys activity a等价于
adb shell dumpsys activity activities命令等。
注意:providers的缩写是prov、permissions的缩写是perm。

最可靠的信息来源还是android官方网站,请访问链接:官网

<think>嗯,用户想知道如何检查Settings.Global.ADB_ENABLED是否成功设置为1,以确认ADB是否启用。首先,我需要回忆ADB相关的命令和设置。记得通过ADB命令可以访问系统设置,比如使用adb shell settings来读写全局设置。 用户提到的属性是Settings.Global.ADB_ENABLED,应该属于全局设置。检查这个值是否设置为1,通常可以用命令adb shell settings get global adb_enabled。如果返回1,说明ADB已经启用。但是可能需要考虑其他情况,比如在设备重启后这个值是否保持,或者是否有其他因素影响ADB的实际状态。 另外,用户提到priv-app,可能是指权限问题。系统级应用可能需要特殊权限才能修改全局设置。比如,使用adb shell settings put global adb_enabled 1需要足够的权限。如果设置后没有生效,可能是权限不足或者需要重启服务。 然后,用户可能需要通过实际连接测试来验证,比如使用adb devices查看设备是否被识别。同时,在开发者选项中查看USB调试是否开启,这也是一种直观的方法。如果ADB_ENABLED为1,但设备未出现在列表中,可能需要检查USB连接或驱动问题。 还需要考虑不同Android版本的差异,有些版本可能在设置上有不同的处理方式。例如,某些版本可能在设置ADB_ENABLED后需要重启adbd服务,或者重新插拔USB线。此外,安全设置如RSA密钥确认也可能影响ADB的连接状态。 总结下来,检查的步骤可能包括:1. 使用settings get命令直接查询属性值;2. 通过adb devices验证连接;3. 查看开发者选项的开关状态;4. 检查系统日志是否有相关错误;5. 考虑权限和系统版本的影响。需要一步步引导用户进行验证,并针对不同情况给出解决方案。</think>要验证通过代码设置 `Settings.Global.ADB_ENABLED` 是否成功,可以按照以下步骤操作: --- ### 1. **直接查询全局设置值** 通过 `adb` 命令直接读取当前 `ADB_ENABLED` 的数值: ```bash adb shell settings get global adb_enabled ``` - 若返回 `1`,表示ADB已启用[^1]; - 若返回 `0`,则未启用。 --- ### 2. **检查ADB实际连接状态** 即使设置值为 `1`,仍需验证设备是否能被ADB识别: ```bash adb devices ``` - 若设备出现在列表中(如 `device` 状态),说明ADB已生效; - 若显示 `unauthorized`,需在设备端授权USB调试[^2]。 --- ### 3. **查看开发者选项界面** 通过ADB命令打开开发者选项页面,确认 **USB调试** 是否开启: ```bash adb shell am start com.android.settings/com.android.settings.DevelopmentSettings ``` 若界面显示开关已启用,则设置成功。 --- ### 4. **检查系统日志(可选)** 通过 `logcat` 过滤ADB相关日志,确认是否有错误: ```bash adb logcat | grep 'adb_enabled' ``` 若存在权限错误(如 `SecurityException`),可能是缺少 `WRITE_SECURE_SETTINGS` 权限。 --- ### 5. **特殊情况处理** - **系统重启影响**:部分设备需重启后生效,尝试 `adb reboot`。 - **权限问题**:若通过代码设置,需确保应用拥有 `android.permission.WRITE_SECURE_SETTINGS` 权限[^1]。 - **Android版本差异**:某些旧版本可能需要额外操作(如手动启用开发者模式)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值