ADB常用的命令以及展讯平台调试小技巧
2017-10-19 10:36
519 查看
1、用adb命令启动apk:
在某些情况下预置到源码的apk没有图标显示在Luancher上,我们可以用反编译工具获取apk的包名和启动activity,然后用adb命令:命令中的包名类名换成对应的apk的包名类名
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命令得到系统的属性值
4、用adb 查看并解决5037端口被占用
一、首先打开cmd命令行,用
比如我的是:
二、接下来查看这个占用端口进程执行的任务用命令
原来是这个任务占用了我的端口
三、干掉这个进程,使用命令
5、使用adb命令截图
6、查看当前界面运行在哪个Acitivity上
7、展讯平台制作差分包的命令
6.0系统:
7.0系统:
差分包编译生成的位置在:
8、导出代码中所有的语言资源文件
导出俄语的:
9、快速查找代码中的字符
10、给apk 签名
一般的系统签名:
展讯平台7.0系统签名需要多引用一个lib文件
在某些情况下预置到源码的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
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
相关文章推荐
- 关于在adb调试过程中常用的用法及adb命令
- Android Studio如何配置adb以及常用命令
- GDB常用调试命令以及多进程多线程调试
- adb介绍以及常用命令
- Android adb 内存调试常用命令
- 常用的android adb 调试命令
- 调试tp驱动常用的adb命令
- gdb常用调试命令以及多线程堆栈的查看
- Linux中常用的操作命令和vi操作命令以及gdb调试命令
- Android adb的使用及Android系统常用调试命令
- adb 常用命令使用+adb 无线调试
- GDB常用调试命令以及多进程多线程调试
- 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
- adb详细介绍以及常用adb命令
- 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
- adb 安桌调试桥的常用命令
- 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
- Android系统adb调试命令及常用抓log方法
- ADB调试常用命令
- Android中Activity和常用的ADB命令以及Android项目结构的认识