首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >android adb shell 常用命令

android adb shell 常用命令

作者头像
tea9
发布于 2022-09-08 04:13:09
发布于 2022-09-08 04:13:09
3.7K01
代码可运行
举报
文章被收录于专栏:tea9的博客tea9的博客
运行总次数:1
代码可运行

一次性查看app的所有资源和访问权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

adb shell
cd /data/data/

一次性查看app的所有资源和元数据
ls -alR */

ls -alR */databases/ 数据库

ls -alR */files/

指定类型
ls -al */*/*.xml
ls -al */*/*.png
ls -al */*/*.mp3

ls -alR */ |  grep com.xx.xx 

用sqlite3加载.db文件
sqlite3 [database-filename]
sqlite3 xx.db
> .tables
> select * from data;

命令列表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls{path}: 列出path目录下的所有文件或文件夹

cat{file}: 打印出文件的文本内容

cd{path}: 把当前的工作目录切换到path指定的目录

cd ../: 切换到上级目录

pwd: 输出当前工作目录

id: 显示你的用户ID

root@cancro:/ # id
uid=0(root) gid=0(root) groups=0(root),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:su:s0

一些路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
密码锁
    /data/system
        password.key
        gesture.key

    cd /data/system
    rm gesture.key

二进制文件
    /system/bin
    /system/xbin

应用数据
    /data/data
    /data/data/xx.xx
    >ls
    cache
    databases
    files
    lib

原始安装文件
    /data/app

play商店购买app
    /data/app-private

系统app存放目录
    /system/app/xx.apk

应用app存放目录
    /data/app/xx.apk

install存放app的临时目录
    /data/local/tmp/xx.apk

缓存目录
adb pull /sdcard/tencent/MobileQQ/diskcache/ 

tools 环境变量

mac: /Users/xx/Library/Android/sdk/tools/bin archquery jobb monkeyrunner sdkmanager avdmanager lint screenshot2 uiautomatorviewer

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/Users/xx/Library/Android/sdk/tools
NOTICE.txt        emulator-check    monitor           support
android           lib               package.xml
bin               miao.xml          proguard
emulator          mksdcard          source.properties

/Applications/AndroidStudio.app/Contents/gradle/gradle-4.10.1/bin
gradle     gradle.bat

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <!-- ps|grep com.songheng.eastnews  
com.songheng.eastnews/com.oa.eastfirst.activity.WelcomeActivity -->

http://adbshell.com/

<!-- /Users/shaomiao/Library/Android/sdk/tools/monitor   -->

Android ADB命令?这一次我再也不死记了!【简单说】

分辨率

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell wm size
> Physical size: 1080x1920

abi

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell getprop ro.product.cpu.abi
> arm64-v8a

adb forword

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb forward tcp:11111 tcp:22222
感觉这个命令挺酷的

adb forward的细节(1):原理概述 adb forward的细节(4):使用adb forward打造一个PC端与手机端交互的工具 ANDROID: 超级好用的ADB FORWARD命令 Android - adb forward实现PC和App的Socket通讯

am

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
am start -a android.intent.action.CALL -d tel:10086  拨打电话
-a表示动作 -d 表示传入的数据 -t表示传入的类型


am start -a android.intent.action.VIEW -d http://www.baidu.com  打开网页


打开音乐播放器
am start -a android.intent.action.MUSIC_PLAYER 
am start -n com.android.music/om.android.music.MusicBrowserActivity 


启动服务
am startservice <服务名称> 
am startservice -n com.android.music/com.android.music.MediaPlaybackService (这里-n表示组件) 
am startservice -a com.smz.myservice (这里-a表示动作,就是你在Androidmanifest里定义的) 

停止服务
am stopservice


发送广播
am broadcast -a <广播动作> 
am broadcast -a com.smz.mybroadcast 


启动app
am start -n <packagename>
am start -n com.android.browser/com.android.browser.BrowserActivity

杀死进程
am kill <packagename>

ps|grep <packagename> 查看进程是否存在

pm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pm list packages  列出手机所有的包名

pm install/uninstall  安装/卸载

input

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
input text <text> 

input keyevent <keycode> 

input tap <x> <y>

input swipe <x1> <y1> <x2> <y2> <time>

service

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
service list
service list|grep com.android

service check xx

activity

adb常用命令

1.模拟点击

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input tap 100 100

2.滑动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input swipe x1 y1 x2 y2 
adb input touchscreen swipe x1 y1 x2 y2 100

adb shell input swipe 100 100 400 100  300 #左往右
adb shell input swipe 400 100 100 100  300 #右往左
adb shell input swipe 100 100 100 400  300 #上往下
adb shell input swipe 100 400 100 100  300 #下往上
adb shell input swipe 100 100 400 400  300 #上往下斜
adb shell input swipe 400 400 100 100  300 #下往上斜

3.长按

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input swipe 100 100 100 100  1000 //在 100 100 位置长按 1000毫秒

adb shell input swipe 367 469 367 469 800

4.打印所有包名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell pm list packages

➜  ~ adb shell pm list packages
package:com.huawei.floatMms
package:com.android.defcontainer
package:com.tencent.mm

pm list packages | grep xx

5.打印制定包的apk路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell pm path com.android.phone

➜  ~ adb shell pm path com.huawei.android.launcher
package:/system/app/HwLauncher6.apk

6.删除制定包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell pm clear com.test.abc

7.截图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png #下载到本地

8.获取被点击的位置信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell getevent

>
/dev/input/event0 3 39 3e1
/dev/input/event0 1 14a 1
/dev/input/event0 1 145 1
/dev/input/event0 3 35 406  //x坐标
/dev/input/event0 3 54 1083  //y坐标
/dev/input/event0 0 0 0
/dev/input/event0 3 39 ffffffff
/dev/input/event0 1 14a 0
/dev/input/event0 1 145 0
/dev/input/event0 0 0

getevent -l -c 16
输出所有event设备的基本信息

add device 1: /dev/input/event2
  name:     "hi6421_on"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 2: /dev/input/event4
  name:     "huawei,touchscreen"
add device 3: /dev/input/event0
  name:     "mhl_rcp_dev"
could not get driver version for /dev/input/mice, Not a typewriter
add device 4: /dev/input/event1
  name:     "hisi_gpio_key.14"
add device 5: /dev/input/event3
  name:     "hi3630_hi6401_CARD Headset Jack"

getevent -c 10 //输出10条信息后退出
getevent -l  //将type、code、value以对应的常量名称显示

9.打开对应的activity

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start -n {包(package)名}/{包名}.{活动(activity)名称}

adb shell am start com.songheng.eastnews/com.oa.eastfirst.activity.WelcomeActivity

打开activity 传intent

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start -n com.android.camera/.Camera -e abc hello
Starting: Intent { cmp=com.android.camera/.Camera (has extras) }

其中 extra 的 key 为 abc ,value 为字串 "hello"

10.获得当前活动窗口的信息,包名以及活动窗体

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys window windows | grep mCurrent 

11.包名管理命令,获得对应包名的对应apk路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell pm  path com.migu.lobby

12.使用dumpsys命令可以查看Android手机当前正在运行的Activity

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys activity activities | findstr "Run"

查看当前打开的app包名

顶层activity:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys activity top

windows:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys window w |findstr \/ |findstr name=

mac:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys window w |grep \/ |grep name=~ adb shell dumpsys window w |grep \/ |grep name=
  mSurface=Surface(name=com.weikuai.wknews/com.weikuai.wknews.ui.activity.RegisterActivity)

13.使用 uiautomator dump 获取app上的页面元素

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell uiautomator dump /data/local/tmp/uidump.xml
adb shell uiautomator dump /sdcard/dump.xml
adb pull /sdcard/dump.xml 

14.下载文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb pull /sdcard/demo.mp4 

15.上传文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb push test.apk /sdcard

16.息屏

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input keyevent 26

17.keyevent

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input keyevent 19 #导航键向下

adb shell input keyevent 20 #导航键向下

adb shell input keyevent 92 #向上翻页键

adb shell input keyevent 93 #向下翻页键

adb shell input keyevent 4 #返回

adb shell input keyevent 3 #Home

adb shell input keyevent 6 #挂机

adb shell input keyevent 84 #搜索

adb shell input keyevent 26 #电源

adb shell input keyevent 24 #音量+

adb shell input keyevent 25 #音量-

导航

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3 Home
4 Back
19 Up
20 Down
21 Left
22 Right
23 Select/Ok
24 Volume+
25 Volume-
82 Menu 菜单


adb shell input text "ANDROID" 支持的KEYCODE
0 -->  "KEYCODE_UNKNOWN"
1 -->  "KEYCODE_MENU"
2 -->  "KEYCODE_SOFT_RIGHT"
3 -->  "KEYCODE_HOME"
4 -->  "KEYCODE_BACK"
5 -->  "KEYCODE_CALL" 
6 -->  "KEYCODE_ENDCALL" 
7 -->  "KEYCODE_0" 
8 -->  "KEYCODE_1" 
9 -->  "KEYCODE_2" 
10 -->  "KEYCODE_3"
11 -->  "KEYCODE_4" 
12 -->  "KEYCODE_5" 
13 -->  "KEYCODE_6" 
14 -->  "KEYCODE_7" 
15 -->  "KEYCODE_8" 
16 -->  "KEYCODE_9" 
17 -->  "KEYCODE_STAR" 
18 -->  "KEYCODE_POUND" 
19 -->  "KEYCODE_DPAD_UP" 
20 -->  "KEYCODE_DPAD_DOWN" 
21 -->  "KEYCODE_DPAD_LEFT" 
22 -->  "KEYCODE_DPAD_RIGHT"
23 -->  "KEYCODE_DPAD_CENTER"
24 -->  "KEYCODE_VOLUME_UP" 
25 -->  "KEYCODE_VOLUME_DOWN" 
26 -->  "KEYCODE_POWER" 
27 -->  "KEYCODE_CAMERA" 
28 -->  "KEYCODE_CLEAR" 
29 -->  "KEYCODE_A" 
30 -->  "KEYCODE_B" 
31 -->  "KEYCODE_C" 
32 -->  "KEYCODE_D" 
33 -->  "KEYCODE_E" 
34 -->  "KEYCODE_F" 
35 -->  "KEYCODE_G" 
36 -->  "KEYCODE_H" 
37 -->  "KEYCODE_I" 
38 -->  "KEYCODE_J" 
39 -->  "KEYCODE_K" 
40 -->  "KEYCODE_L" 
41 -->  "KEYCODE_M"
42 -->  "KEYCODE_N" 
43 -->  "KEYCODE_O" 
44 -->  "KEYCODE_P" 
45 -->  "KEYCODE_Q" 
46 -->  "KEYCODE_R" 
47 -->  "KEYCODE_S" 
48 -->  "KEYCODE_T" 
49 -->  "KEYCODE_U" 
50 -->  "KEYCODE_V" 
51 -->  "KEYCODE_W" 
52 -->  "KEYCODE_X"
53 -->  "KEYCODE_Y" 
54 -->  "KEYCODE_Z" 
55 -->  "KEYCODE_COMMA" 
56 -->  "KEYCODE_PERIOD"
57 -->  "KEYCODE_ALT_LEFT" 
58 -->  "KEYCODE_ALT_RIGHT" 
59 -->  "KEYCODE_SHIFT_LEFT" 
60 -->  "KEYCODE_SHIFT_RIGHT" 
61 -->  "KEYCODE_TAB" 
62 -->  "KEYCODE_SPACE" 
63 -->  "KEYCODE_SYM" 
64 -->  "KEYCODE_EXPLORER" 
65 -->  "KEYCODE_ENVELOPE" 
66 -->  "KEYCODE_ENTER" 
67 -->  "KEYCODE_DEL" 
68 -->  "KEYCODE_GRAVE" 
69 -->  "KEYCODE_MINUS" 
70 -->  "KEYCODE_EQUALS" 
71 -->  "KEYCODE_LEFT_BRACKET" 
72 -->  "KEYCODE_RIGHT_BRACKET" 
73 -->  "KEYCODE_BACKSLASH"
74 -->  "KEYCODE_SEMICOLON" 
75 -->  "KEYCODE_APOSTROPHE"
76 -->  "KEYCODE_SLASH" 
77 -->  "KEYCODE_AT" 
78 -->  "KEYCODE_NUM" 
79 -->  "KEYCODE_HEADSETHOOK" 
80 -->  "KEYCODE_FOCUS"
81 -->  "KEYCODE_PLUS"
82 -->  "KEYCODE_MENU"
83 -->  "KEYCODE_NOTIFICATION"
84 -->  "KEYCODE_SEARCH" 
85 -->  "TAG_LAST_KEYCODE"  

adb shell input keyevent值所对应的字符 adb命令模拟按键事件 KeyCode

18.输入框输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input text "ANDROID"

19.利用无线来查看adb shell

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> adb tcpip 5555

连接:
> adb connect IP:5555

ADB高级命令

20.查看所有已经连接上的设备

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb devices

21.安装卸载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb install <apk文件路径>
adb install -r <apk文件路径>     通过install命令来安装apk文件,-r参数可以重新安装某个应用并保留应用数据

adb install -r ~/chrome.apk

卸载应用:
adb uninstall <软件名>
adb uninstall -k < 软件名>         如果加 -k 参数,为卸载软件但是保留配置和缓存文件

adb uninstall com.android.chrome

22.关机命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell
su
reboot -p

重启

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
reboot

23.停止App后台进程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell ps | grep tencent.mm   检查指定进程

adb shell am force-stop com.tencent.mm 关闭指定进程

adb shell pm clear com.tencent.mm  清楚指定进程 不仅会停止APP进程,而且会清除这个APP进程产生的所有数据

查看手机cpu

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell getprop ro.product.cpu.abi

查看apk的MD5

解压apk META-INF/CERT.RSA

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
keytool -printcert -file CERT.RSA

重启 关机 休眠 唤醒 (还没试)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell reboot 重启
echo mem > /sys/power/state 休眠
echo on > /sys/power/state 唤醒
reboot -p 关机

打开设置页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start com.android.settings/com.android.settings.Settings

安全

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start com.android.settings/com.android.settings.SecuritySettings

手机无线信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start com.android.settings/com.android.settings.RadioInfo

打开浏览器页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start -n com.android.browser/com.android.browser.BrowserActivity

打开网站
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com

更多页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
com.android.settings.AccessibilitySettings 辅助功能设置 
com.android.settings.ActivityPicker 选择活动 
com.android.settings.ApnSettings APN设置 
com.android.settings.ApplicationSettings 应用程序设置 
com.android.settings.BandMode 设置GSM/UMTS波段 
com.android.settings.BatteryInfo 电池信息 
com.android.settings.DateTimeSettings 日期和坝上旅游网时间设置 
com.android.settings.DateTimeSettingsSetupWizard 日期和时间设置 
com.android.settings.DevelopmentSettings 开发者设置 
com.android.settings.DeviceAdminSettings 设备管理器 
com.android.settings.DeviceInfoSettings 关于手机 
com.android.settings.Display 显示——设置显示字体大小及预览 
com.android.settings.DisplaySettings 显示设置 
com.android.settings.DockSettings 底座设置 
com.android.settings.IccLockSettings SIM卡锁定设置 
com.android.settings.InstalledAppDetails 语言和键盘设置 
com.android.settings.LanguageSettings 语言和键盘设置 
com.android.settings.LocalePicker 选择手机语言 
com.android.settings.LocalePickerInSetupWizard 选择手机语言 
com.android.settings.ManageApplications 已下载(安装)软件列表 
com.android.settings.MasterClear 恢复出厂设置 
com.android.settings.MediaFormat 格式化手机闪存 
com.android.settings.PhysicalKeyboardSettings 设置键盘 
com.android.settings.PrivacySettings 隐私设置 
com.android.settings.ProxySelector 代理设置 
com.android.settings.RadioInfo 手机信息 
com.android.settings.RunningServices 正在运行的程序(服务) 
com.android.settings.SecuritySettings 位置和安全设置 
com.android.settings.Settings 系统设置 
com.android.settings.SettingsSafetyLegalActivity 安全信息 
com.android.settings.SoundSettings 声音设置 
com.android.settings.TestingSettings 测试——显示手机信息、电池信息、使用情况统计、Wifi information、服务信息 
com.android.settings.TetherSettings 绑定与便携式热点 
com.android.settings.TextToSpeechSettings 文字转语音设置 
com.android.settings.UsageStats 使用情况统计 
com.android.settings.UserDictionarySettings 用户词典 
com.android.settings.VoiceInputOutputSettings 语音输入与输出设置 
com.android.settings.WirelessSettings 无线和网络设置

查看权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ adb shell pm list permissions -s

$ adb shell install -g MyApp.apk # 自动授予APP所有权限

安装证书

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell am start -n com.android.certinstaller/.CertInstallerMain -a android.intent.action.VIEW -t application/x-x509-ca-cert file:///sdcard/c.cer

adb shell am start -n com.android.certinstaller/.CertInstallerMain

设置代理

Android4.2的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,所有是4.2以上版本才可以用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 设置代理
adb shell settings put global http_proxy ip_address:port


// 移除代理
adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port
移除代理需要重启手机方可生效,设置可直接多次覆盖,不需要移除

#获取系统默认输入法

#默认搜狗输入法

C:\Users\Administrator>adb shell settings get secure default_input_method

com.sohu.inputmethod.sogouoem/.SogouIME

 

#默认为Appium使用中文输入时安装的输入法

C:\Users\Administrator>adb shell settings get secure default_input_method

io.appium.android.ime/.UnicodeIME

 

#put命令更改默认输入法(将io.appium.android.ime/.UnicodeIME改为com.sohu.inputmethod.sogouoem/.SogouIME)

C:\Users\Administrator>adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME

#获取亮度是否为自动获取

C:\Users\Administrator>adb shell settings get system screen_brightness_mode

1

#获取当前亮度值

C:\Users\Administrator>adb shell settings get system screen_brightness

30

#更改亮度值(亮度值在0255之间)

C:\Users\Administrator>adb shell settings put system screen_brightness 150

#获取屏幕休眠时间

C:\Users\Administrator>adb shell settings get system screen_off_timeout

15000

#更改休眠时间,10分钟

C:\Users\Administrator>adb shell settings put system screen_off_timeout 600000

#获取日期时间选项中通过网络获取时间的状态,1为允许、0为不允许

C:\Users\Administrator>adb shell settings get global auto_time

1

#更改该状态,从1改为0

C:\Users\Administrator>adb shell settings put global auto_time 0

以及获取、修改wifi状态(wifi_on)、飞行模式(airlpane_mode_on)等,这里也是appium中getNetworkConnection获得设备网络状态的方法

adb shell settings ….

adb恢复出厂设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
进入recovery模式 在进行双清可以达到恢复出厂
adb reboot recovery

或者下面的 You can try the following commands:

To enter the fastboot mode: adb reboot bootloader

Check whether the mobile phone is also in fastboot mode: fastboot devices

To delete the data: fastboot erase userdata

To delete cache: fastboot erase cache

查看ip

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell netcfg


tips

解决网页滑动问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell input keyevent 19 #导航键向下

adb shell input keyevent 20 #导航键向下

adb shell input keyevent 92 #向上翻页键

adb shell input keyevent 93 #向下翻页键

问题

安装apk的问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
签名冲突

adb运行提示error:cannot connect to daemon

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
首先查看是否是端口被占用
adb nodaemon server
adb devices
adb kill-server

adb pull remote Permission denied

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
➜  Downloads adb pull /data/system/gatekeeper.password.key
adb: error: failed to copy '/data/system/gatekeeper.password.key' to './gatekeeper.password.key': remote Permission denied

adb root
adb remont
adb pull /data/system/gatekeeper.password.key

解决adbd cannot run as root in production builds问题

adbd cannot run as root in production builds

下载安装adbd-insecure.apk/超级adbd 打开应用将Enable insecure adbd 和 enable at boot 勾选上

还没测试成功 一加手机7.0未测试成功

adbd cannot run as root in production builds的解决方法

failed on ‘/sdcard/busybox’ - Cross-device link

安卓的adb shell中,没有cp命令,使用mv文件的时候出现cross-device link错误: 出现错误的原因是mv命令不允许将存储卡中的文件复制到/system/或/data/分区中,因为两者被认为是在不同的设备上。 那怎么才能将/sdcard/路径下的文件复制到/system/或/data/分区呢? 解决办法就是通过cat命令和重定向功能。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@android:/sdcard # mv /sdcard/busybox /system/bin                          
failed on '/sdcard/busybox' - Cross-device link

安卓adb shell中mv引起cross-device link错误解决办法

LINKS

这个没试过还挺有趣的android adb shell循环模拟点击 Android应用程序 — WakeLock 保持后台唤醒状态 Android利用root权限开关机、休眠和唤醒 Android adb shell input 命令详解 Android开发——后台获取用户点击位置坐标(可获取用户支付宝密码) Android adb shell启动应用程序的方法 Android通过ADB命令获取当前运行的Activity Android adb shell启动应用程序的方法 PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机) Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现) 通过adb shell获取当前窗口信息 检测弹窗与蒙层的方法 (Android ) 使用 uiautomator dump 获取app上的页面元素 通过 python 调用 adb 命令实现用元素名称、id、class 定位元素 通过adb获取安卓应用屏幕所有控件信息 使用adb命令获取设备UI(hierarchy)信息 Android shell获取和模拟点击事件 通过adb shell命令查看当前与用户交互的activity adb shell 常用命令 玩转ADB命令(ADB命令使用大全) Android系统文件目录路径说明 彻底搞懂Android文件存储—内部存储,外部存储以及各种存储路径解惑 Android–多线程之Handler android在adb下模拟长按事件 android 自动化测试检测弹窗或蒙层 Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等) 使用adb命令停止APP后台进程的方法 adb命令打开手机设置页面 通过ADB WiFi Connect插件无线真机调试

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
玩转ADB命令(ADB命令使用大全)
我相信做Android开发的朋友都用过ADB命令,但是也只是限于安装应用push文件和设备重启相关,更深的就不知道了,其实我们完全可以了解多一点,有一些不常用的场景我们至少应该知道它可以做到,比如,我们知道adb install 却不知道adb shell am start。前者是用来安装软件,后者用来打开软件,后者的一个使用场景让我对他重视:公司定制Android系统,在调试屏幕的时候要看是否满屏验证驱动是否正常,比较麻烦的做法是要拿到Android开发者手里用eclipse或者其他ide安装打开。显然相对于驱动人员连上数据线使用adb命令要复杂得多。因此,了解多一点还是很有必要的。
全栈程序员站长
2022/08/27
10.3K0
玩转ADB命令(ADB命令使用大全)
安卓测试常用的 ADB 命令
    adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  4.从Android仿真器中回传文件到电脑 
测试之道
2021/03/04
5.5K0
ADB常用命令及其用法大全「建议收藏」
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。 注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。
全栈程序员站长
2022/08/12
11.8K1
ADB常用命令及其用法大全「建议收藏」
adb下载安装及使用[通俗易懂]
adb介绍: Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 ADB是一个C/S架构的应用程序,由三部分组成: 运行在pc端的adb client: 命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求; 运行在pc端的adb server: ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上; 运行在设备端的常驻进程adb demon (adbd): 程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务。
全栈程序员站长
2022/08/10
10.6K0
adb下载安装及使用[通俗易懂]
Android自动化之-ADB与ADB shell常用命令
针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。
十四君
2019/11/23
8K1
必须掌握的ADB命令 | 让你的测试事半功倍
ADB的全称是Android Debug Bridge,是一个与模拟器或者连接设备通讯的桥梁。ADB是CS结构包含三个部分:
京东技术
2018/07/30
8.9K0
必须掌握的ADB命令 | 让你的测试事半功倍
Android中常用的adb shell命令
参考文章 https://github.com/mzlogin/awesome-adb
全栈程序员站长
2022/07/01
3.3K0
Android中常用的adb shell命令
盘点Python编程的简易版自动化工具——ADB史上全操作
ADB,中文名安卓调试桥,它是一种功能多样的命令行工具,可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
前端皮皮
2021/05/18
2.9K0
盘点Python编程的简易版自动化工具——ADB史上全操作
编程干货│全网最全 adb 命令[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157766.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/18
1.3K0
adb 常用命令解析
adb shell dumpsys activity activities | grep mFocusedActivity
测试开发社区
2022/11/16
1.8K0
Android自动化测试探索(一)adb详细介绍
adb,即Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具
周希
2019/10/15
2.9K0
『移动端测试必备』ADB常用命令和使用
虫无涯
2023/11/28
7900
手把手教你玩转ADB命令:安卓调试桥深度指南
ADB(Android Debug Bridge)是连接电脑与安卓设备的瑞士军刀,这个C/S架构的工具由客户端(PC)、服务端(设备)和守护进程三部分组成。想要流畅使用ADB,建议将platform-tools目录(如D:\sdk\platform-tools)添加至系统环境变量,这样在任何路径下都能直接调用adb命令。
是山河呀
2025/07/10
3430
adb命令大全,保存以备参考
adb root //restarts adb with root permissions
孟船长
2023/12/14
6220
adb命令大全,保存以备参考
掌握ADB:详解操作命令及完整用法指南(二)
ADB,全名Android Debug Bridge,是Android提供的一个通用的调试工具,是一个C/S架构的命令行工具,通过这个工具,使得我们的PC能够和Android设备来进行通信。之前一篇文章我们介绍了adb安装以及一些adb的基础命令,本文我们将介绍一些我们在进行app自动化测试时经常使用到的命令。
霍格沃兹测试开发Muller老师
2024/04/01
5000
ADB常用命令整理(全网最全)
调试Android程序时,我们经常需要使用adb shell命令。adb是Android Debug Bridge的缩写,它充当调试桥梁的作用,就像一条连接开发机和设备之间的桥梁。
天天Lotay
2023/10/15
15.7K0
adb常用命令总结
基础命令 1.查看手机设备 adb devices 2.packsge(包路径)安装包 adb install 3.(保留数据及缓存文件安装新包) adb install -r packages 4.(卸载包) adb uninstall package 5.关闭adb服务 adb kill-server 6.启动adb服务 adb start-server 7.查看手机里面所有包名 adb shell pm list packages 8.查看手机里面所有第三方包名 adb shell pm
wencheng
2020/09/21
9780
那些做Android开发必须知道的ADB命令
那些必须知道的ADB命令 科普: ADB的全称是Android Debug Bridge 熟练掌握ADB命令可以提高开发效率 以下记录一些比较常用的命令: adb start-server 启动adb服务,如果它没启动的话 adb kill-server 关闭服务 adb devices 查看所连接的设备以及设备所对应的序列号 adb install -r xxxx.apk 安装app,需要注意的是如果连接了两台设备,则会报错,此时可以添加-s <serialNumber>来处理 adb uninstal
程序亦非猿
2019/08/16
9810
Android常用命令行——gradlew,adb,adb shell
gradlew 下面全是针对 windows 操作系统的。如果是 Linux / Mac 请直接用 ./ 前缀。
老马的编程之旅
2022/06/22
8840
ADB的基本语法及常用命令
输出格式为 [serialNumber] [state],serialNumber即我们常说的SN,state有如下几种:
越陌度阡
2024/05/24
1.1K0
ADB的基本语法及常用命令
相关推荐
玩转ADB命令(ADB命令使用大全)
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 一次性查看app的所有资源和访问权限
  • 命令列表
  • 一些路径
  • tools 环境变量
  • 分辨率
  • abi
  • adb forword
  • am
  • pm
  • input
  • service
  • activity
  • adb常用命令
  • 查看手机cpu
  • 查看apk的MD5
  • 重启 关机 休眠 唤醒 (还没试)
  • 打开设置页面
  • 安全
  • 手机无线信息
  • 打开浏览器页面
  • 更多页面
  • 查看权限
  • 安装证书
  • 设置代理
  • adb恢复出厂设置
  • 查看ip
  • tips
    • 解决网页滑动问题
  • 问题
  • 安装apk的问题
  • adb运行提示error:cannot connect to daemon
  • adb pull remote Permission denied
  • adbd cannot run as root in production builds
  • failed on ‘/sdcard/busybox’ - Cross-device link
  • LINKS
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档