记录Android开发过程中常用的命令。
使用adb命令可以在某些情况下比IDE更加直接,更有效率的调试开发环境。
adb shell am broadcast --es ACTION_TYPE "AUDIO" --es ACTION_SCHEDULE_ID "kc2xyo8gcy01" -a com.xxx.action.DIAGNOSTIC_REQUEST
adb shell am start -n "com.mobile/com.xx.view.activity.SplashActivity"
上述命令只是启动某个Activity,并未添加参数。
这里注意的,符号 “/” 两侧不一样,一般在gradle中配置applicationId的话,在实际使用此命令时需要注意的是,"/" 左侧与applicationId一致,右侧则是源码中具体Activity的完整限定名。 不注意的话,可能导致使用命令是提示找不到Activity错误
adb shell am startservice -n "com.xxx.xxx/.XXXService"
启动service,参数 -n 表明启动的Service的完整限定名。
使用
adb connect 192.168.95.2:5555
无线连接手机失败,提示:
cannot connect to 192.168.95.2:5555: 由于目标计算机积极拒绝,无法连接。 (10061)
可以使用修改默认端口的方式处理。
adb tcpip 8888
使用 force-stop 命令杀死进程
adb shell am force-stop com.taobao.taobao
后面跟的是进程包名(applicationId)
卸载apk,使用 uninstall 命令
adb shell pm list packages
adb uninstall xx.xx
下使用pm命令列出安装的packages,然后在进行卸载命令。
adb shell input keyevent ${keycode}
最后添加keycode来模拟输入对应的键。
adb shell dumpsys deviceidle enable # 启用功能
adb shell dumpsys deviceidle force-idle # 使用 adb shell dumpsys deviceidle step 单步查看状态
adb shell dumpsys deviceidle unforce
adb shell dumpsys battery reset
adb shell dumpsys battery unplug
adb shell am set-inactive <packageName> true
adb shell am set-inactive <packageName> false
adb shell am get-inactive <packageName>
Linux:
adb shell dumpsys activity | grep "mFocusedActivity"
windows:
adb shell dumpsys activity | findstr "mFocusedActivity"
获取当前任务栈顶层的Activity。
keytool用于针对APK签名文件做出较多操作。
keytool -printcert -file C:\Users\android\Desktop\KEY0.RSA
直接显示keystore原始文件的签名信息。
keytool -list -v -keystore "C:\Users\android\Desktop\keystore.jks"
即可以显示jdk文件中的所信息。
业内使用较多的签名文件格式是P12格式,因此keytool工具提供了对应格式的转换命令。
keytool -importkeystore -srckeystore {REPLACE_WITH_JKS_FILE} -srcstoretype JKS -deststoretype PKCS12 -destkeystore ConvertedCertificate.p12