ADB常用的命令以及展讯平台调试小技巧

1、用adb命令启动apk:
在某些情况下预置到源码的apk没有图标显示在Luancher上,我们可以用反编译工具获取apk的包名和启动activity,然后用adb命令:命令中的包名类名换成对应的apk的包名类名

 $ adb shell $ am start -n {包(package)名}/{包名}.{活动(activity)名称} 

adb shell am start -n com.android.otaupdater/com.android.otaupdater.MainActivity
 通过命令行执行adb shell am broadcast发送广播通知。

adb shell am broadcast 后面的参数有:

[-a <ACTION>]
[-d <DATA_URI>]
[-t <MIME_TYPE>] 
[-c <CATEGORY> [-c <CATEGORY>] ...] 
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] 
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] 
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] 
[-n <COMPONENT>]
[-f <FLAGS>] [<URI>]

2、用adb获取SetitingsProvider数据库文件

Android L (5.1)及以前的版本
Settings参数保存在 /data/data/com.android.providers.settings/databases/settings.db里,里面有三个表global, system, secure.
通常这样查看数据
adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db “select * from secure”
或者adb pull settings.db到本地,然后用sqlite expert打开即可。

Android M (6.0)开始出现变化
adb shell 进入设备
不同用户放不同的路径下,如果没有创建新用户,则在**/data/system/users/0**下
settings_global.xml, settings_system.xml, settings_secure.xml
我们可以直接通过cat命令去查看也可以adb pull 到本地。

3、用prop命令得到系统的属性值

$ adb shell
 getprop persist.sys.cam.has.flash    //查看手机内部的值
 setprop  persist.sys.cam.has.flash   false  //设置手机内部的值

4、用adb 查看并解决5037端口被占用
一、首先打开cmd命令行,用netstat -aon|findstr 5037命令查看占用5037端口的进程
比如我的是:

TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       3676

二、接下来查看这个占用端口进程执行的任务用命令tasklist /fi "PID eq 3676"
原来是这个任务占用了我的端口

svchost.exe              3676 Services              0     13,800 K

三、干掉这个进程,使用命令taskkill /pid 3676 /f,然后你会发现adb 可以正常使用了

5、使用adb命令截图

adb shell /system/bin/screencap -p /sdcard/screenshot.png

6、查看当前界面运行在哪个Acitivity上

adb shell dumpsys activity | grep "Running activities" -A 7

7、展讯平台制作差分包的命令
6.0系统:

./build/tools/releasetools/ota_from_target_files --block -i old.zip -k build/target/product/security/release/releasekey new.zip update.zip

7.0系统:

./build/tools/releasetools/ota_from_target_files  -i old.zip -k build/target/product/security/release/releasekey new.zip update.zip

差分包编译生成的位置在:

out\target\product\sp9832a_2h11\obj\PACKAGING\target_files_intermediates

8、导出代码中所有的语言资源文件

find ./ -name '*string*.xml' -or -name 'array*.xml' -or -name 'numeric_operator.xml' | xargs -i cp --parents -rf {} ./res_xml_all/

导出俄语的:

find <folder name>/ -regex ".*res\(_.*\)?\/values\(-\(ru\).*\)?\/.*\(string\|array\).*.xml" | xargs -I % cp --parents % <output folder> 

9、快速查找代码中的字符

find ./packages/apps/ -name "*.xml" | xargs grep --color "多模式"

10、给apk 签名
一般的系统签名:

java -jar out/host/linux-x86/framework/signapk.jar platform.x509.pem platform.pk8 test.apk test2.apk 

展讯平台7.0系统签名需要多引用一个lib文件

java -Xmx2048m -Djava.library.path="out/host/linux-x86/lib64"     -jar out/host/linux-x86/framework/signapk.jar     -w build/target/product/security/platform.x509.pem     build/target/product/security/platform.pk8     vendor/sprd/partner/prebuilt_apps/TouchPal/TouchPal_5.8.4.4.20170405143955_Global_OEM.aligned.apk xx_sign.apk

11、根据包名显示apk 的路径

pm -p  com.android.packagename
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrsongs的心情杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值