天天看点

Android ADB 你想要的都在这

文章目录

  • ​​一、ADB 简介​​
  • ​​二、ADB 常用命令​​
  • ​​2.1、模拟按键​​
  • ​​2.2、发送 broadcast​​
  • ​​2.3、获取、设置系统属性​​
  • ​​2.4、查看连接的设备​​
  • ​​2.5、进入设备终端​​
  • ​​2.6、将apk安装到设备上​​
  • ​​2.7、执行shell命令​​
  • ​​2.8、从电脑上发送文件到设备​​
  • ​​2.9、从设备上发送文件到电脑​​
  • ​​2.10、查看帮助信息​​
  • ​​2.11、查看设备日志​​
  • ​​2.12、重启设备​​
  • ​​2.13、查看所有安装apk的包​​
  • ​​2.14、根据某个关键字查找包​​
  • ​​2.15、查看包安装位置​​
  • ​​2.16、查看当前的Activity​​
  • ​​三、其他​​
  • ​​1、Android Studio 的ADB路径​​
  • ​​2、常见问题​​

一、ADB 简介

adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。

二、ADB 常用命令

2.1、模拟按键

模拟返回(back)事件

adb shell input keyevent 4      

键值表在:frameworks/base/core/java/android/view/KeyEvent.java

2.2、发送 broadcast

广播模型:

private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
                if ("com.jlink.service.invisible".equals(action)) {     //1
                if(intent.hasExtra("invisible")){
                    boolean show = intent.getBooleanExtra("invisible", true);   //2
                    NavigationBarView mNavigationBarView = mNavigationBarController.getDefaultNavigationBarView();
                    if (show) {
                        if (mNavigationBarView != null) return;
                        createNavigationBar(result);
                        SharedConfig.getInstance(mContext).writeData(SharedConfig.KEY_NAVIGATION_BAR, true);
                    }else{
                        if (mNavigationBarView == null) return;
                        mNavigationBarController.removeNavigationBarView();
                        //mNavigationBarView = null;
                        SharedConfig.getInstance(mContext).writeData(SharedConfig.KEY_NAVIGATION_BAR, false);
                    }
                }else{
                    Log.w("StatusBar","didn't contain navigation_bar_show key");
                }
            }
            //add end
        }
    };      

解析:

1处,com.jlink.service.invisible 表示广播的唯一 action

2处,invisible 表示广播通信中,intent携带过来的值。

ADB发送广播:

adb shell am broadcast -a com.jlink.service.invisible --ez invisible false      

综上所述,这条命令就很好理解了。

com.jlink.service.invisible 表示 action

invisible false 表示设置 invisible 的值为false

2.3、获取、设置系统属性

getprop 属性名      

需要root权限

setprop 属性名      

2.4、查看连接的设备

​adb devices​

2.5、进入设备终端

​adb shell​

2.6、将apk安装到设备上

*.apk代表:安装当前目录下所有的apk文件

​adb install xxx.apk​

2.7、执行shell命令

​adb shell command​

2.8、从电脑上发送文件到设备

​adb push <本地路径> <远程路径>​

2.9、从设备上发送文件到电脑

​adb pull <远程路径> <本地路径>​

2.10、查看帮助信息

​adb help​

2.11、查看设备日志

​adb logcat​

2.12、重启设备

​adb reboot​

2.13、查看所有安装apk的包

​pm list packages​

2.14、根据某个关键字查找包

​pm list packages | grep tencent​

2.15、查看包安装位置

​pm list packages -f​

2.16、查看当前的Activity

三、其他

1、Android Studio 的ADB路径

2、常见问题

  • 1、 remote couldn’t create file: Read-only file system**

    报错意思:远程无法创建只读文件系统

    分析原因:没有root 权限,所以无法对手机内存进行读取或修改

    解决方式:​

    ​adb root;adb remount;​