Android ADB命令集锦(持续更新~~~)

文章目录

  • 常用ADB命令
    • adb
      • broadcast(广播)
      • 启动Activity
      • service(服务)
      • adb connect 无线连接失败
      • 杀死进程(force-stop)
      • 卸载APK
      • 输入key
    • dumpsys
      • Doze模式测试
      • 应用待机模式下测试
      • 查看当前正在运行的Activity
    • keytool
      • APK签名信息
      • keystore信息
      • PKSC12

常用ADB命令

记录Android开发过程中常用的命令。

adb

使用adb命令可以在某些情况下比IDE更加直接,更有效率的调试开发环境。

broadcast(广播)

adb shell am broadcast --es ACTION_TYPE "AUDIO" --es ACTION_SCHEDULE_ID "kc2xyo8gcy01" -a com.xxx.action.DIAGNOSTIC_REQUEST
  • –es 设置Intent的参数类型为String;
  • -a 设置参数action,设置接收动作的广播

启动Activity

adb shell am start -n "com.mobile/com.xx.view.activity.SplashActivity"

上述命令只是启动某个Activity,并未添加参数。
这里注意的,符号 “/” 两侧不一样,一般在gradle中配置applicationId的话,在实际使用此命令时需要注意的是,"/" 左侧与applicationId一致,右侧则是源码中具体Activity的完整限定名。 不注意的话,可能导致使用命令是提示找不到Activity错误


service(服务)

adb shell am startservice -n "com.xxx.xxx/.XXXService"

启动service,参数 -n 表明启动的Service的完整限定名。


adb connect 无线连接失败

使用

adb connect 192.168.95.2:5555

无线连接手机失败,提示:

cannot connect to 192.168.95.2:5555: 由于目标计算机积极拒绝,无法连接。 (10061)

可以使用修改默认端口的方式处理。

  1. 将手机连接到PC;
  2. 使用adb devices命令确保手机连接上;
  3. 使用adb tcpip命令修改端口号;
adb tcpip 8888
  1. 再使用adb connect命令进行连接。

杀死进程(force-stop)

使用 force-stop 命令杀死进程

adb shell am force-stop com.taobao.taobao 

后面跟的是进程包名(applicationId)


卸载APK

卸载apk,使用 uninstall 命令

adb shell pm list packages
adb uninstall xx.xx

下使用pm命令列出安装的packages,然后在进行卸载命令。


输入key

adb shell input keyevent ${keycode}

最后添加keycode来模拟输入对应的键。


dumpsys

Doze模式测试

  1. 需要6.0以上的设备或模拟器;
  2. 在设备上安装APP;
  3. 运行App并且保证APP时活跃;
  4. 使用命令让设备强制进度idle模式:
adb shell dumpsys deviceidle enable # 启用功能
adb shell dumpsys deviceidle force-idle  # 使用 adb shell dumpsys deviceidle step 单步查看状态
  1. 准备好后,运行如下命令退出闲置模式;
adb shell dumpsys deviceidle unforce
  1. 重新激活设备:
adb shell dumpsys battery reset

应用待机模式下测试

  1. 需要6.0以上的设备或模拟器;
  2. 在设备上安装APP;
  3. 运行App并且保证APP时活跃;
  4. 使用一下命令,强制设备进入待机模式:
adb shell dumpsys battery unplug
adb shell am set-inactive <packageName> true
  1. 使用以下命令模拟唤醒您的应用:
adb shell am set-inactive <packageName> false
adb shell am get-inactive <packageName>

查看当前正在运行的Activity

Linux:

adb shell dumpsys activity | grep "mFocusedActivity"

windows:

adb shell dumpsys activity | findstr "mFocusedActivity"

获取当前任务栈顶层的Activity。


keytool

keytool用于针对APK签名文件做出较多操作。

APK签名信息

  1. 修改apk后缀名为zip,解压后得到其中的META-INF文件夹;
  2. 在META-INF目录下找到RSA文件(一般根据签名的alias命名);
  3. 命令行下输入:keytool -printcert -file pathToRSAFile  命令,即可获取sha1签名信息。
keytool -printcert -file C:\Users\android\Desktop\KEY0.RSA

keystore信息

直接显示keystore原始文件的签名信息。

keytool -list -v -keystore "C:\Users\android\Desktop\keystore.jks"

即可以显示jdk文件中的所信息。

PKSC12

业内使用较多的签名文件格式是P12格式,因此keytool工具提供了对应格式的转换命令。

keytool -importkeystore -srckeystore {REPLACE_WITH_JKS_FILE} -srcstoretype JKS -deststoretype PKCS12 -destkeystore ConvertedCertificate.p12

你可能感兴趣的:(Android移动开发)