笔记目录
-
- 系统属性ro
- debug口测试
- 插入系统属性调试方法
- 根据当前页面隐藏选项
- 安卓打开原生设置
- 板子下找文件去除失败log
- 板子下挂载rw权限
- 板子下查询已经内置了的数据库属性
- 板子下命令读写入数据库
- 编译android的apk用于调试
- adb指定接受者去发送广播
- 过滤已经发送的广播
- 根据包名寻找.apk位置
- 如果板子下拷贝文件到U盘是空的记得sync一下
- adb命令操作蓝牙
- adb命令操作wifi
- adb 命令查看网络优先级得分
- adb 查看连接过的具体网址
- logcat过滤
- Android [adb](https://so.csdn.net/so/search?q=adb&spm=1001.2101.3001.7020) shell am 模拟发送 广播(带 Action、Falg、Extra)
- 代码查看思路
- 开机自启设置功能思路
- 查看已经安装的app包名
- 查看某app的完整组件名
- 查看cpu信息
- 查看cpu状态
- 根据进程号查询当前绑定在哪个CPU核
- 用于将某个进程/线程绑定到CPU的某个或某几个核上面
- i2c-tools的使用方法及举例
系统属性ro
ro.开头的属性是临时属性,同时它不能用于动态调试应用。想动态调试的话需要改成persist的。
debug口测试
1、查看目前已预置包名
//查看所有包名
pm list package
pm list package |grep webview
2、查找浏览器
#pm list package |grep bro
package:com.android.browser
(package后面的就是)
3、列出所有浏览器
dumpsys package com.android.browser
4、找到头上是MAIN的浏览器
android.intent.action.MAIN:
31e9f57 com.android.browser/.BrowserActivity
5、启动浏览器
am start com.android.browser/.BrowserActivity
am start acr.browser.barebones/acr.browser.lightning.MainActivity
插入系统属性调试方法
1、查看赋值是否成功
- 进入看设置的属性是否在CUS_COMM_PATH=$BASE_DIR/vendor/lango/preinstall/customer-common.mk
2、调试app是否能用(以下都是我的路径)
//板子下的系统属性储存在build.prop里,而且掉电不会丢失,先拉出来修改属性再push回去
//安卓9以后系统属性不一定只放在/system/build.prop里,也有可能放在/vendor/build.prop里
//所以查询属性是否被预置还是要用getprop
adb pull /system/build.prop D:\
adb pull /system/product/build.prop D:\
adb pull /vendor/build.prop D:\
/*************编译framework/service 生成的东西*************/
adb push "Z:\H560Adv\out\target\product\Hi3751V560\system\framework\services.core.jar" system/framework/services.core.jar
adb push "Z:\H560Adv\out\target\product\Hi3751V560\system\framework\services.jar.prof" system/framework/services.jar.prof
adb push "Z:\H560Adv\out\target\product\Hi3751V560\system\framework\services.jar" system/framework/services.jar
adb push Z:\H560Adv\out\target\product\Hi3751V560\system\framework\oat\arm\services.odex system/framework/oat/arm/services.odex
adb push Z:\H560Adv\out\target\product\Hi3751V560\system\framework\oat\arm\services.art system/framework/oat/arm/services.art
adb push Z:\H560Adv\out\target\product\Hi3751V560\system\framework\oat\arm\services.vdex system/framework/oat/arm/services.vdex
/*************编译framework/base 生成的东西*************/
需要替换的文件目录
adb push
"Z:\H560Adv\out\target\product\Hi3751V350\system\framework\framework.jar"
根据当前页面隐藏选项
1、寻找当前页面对应的app
#dumpsys window | grep Curr
mCurrentAppOrientation=-1
mDismissKeyguard=0 mCurrentlyDismissingKeyguard=false
mCurrentRotation=0
mCurrentUserId=0
mCurrentFocus=Window{3fb41f1 u0 com.android.settings/com.android.settings.DeviceAdminAdd}
最后一行有显示
命令开启app
#am start 包名/包名的类名
am start com.android.settings/com.android.settings.DeviceAdminAdd
2、如果是原生设置Setting的话直接去package/apps/Settings下找词条(中文好找一点)
#rg "取消激活此设备管理器"
2103: <string name="remove_device_admin" msgid="7736174723276745230">"取消激活此设备管理器"</string>
根据string name找到对应id
#rg remove_device_admin
...
res/values-sq-rAL/strings.xml
2051: <string name="remove_device_admin" msgid="7736174723276745230">"Çaktivizoje këtë administrator të pajisjes"</string>
res/values-lo-rLA/strings.xml
2051: <string name="remove_device_admin" msgid="7736174723276745230">"ປິດນຳໃຊ້ຜູ້ເບິ່ງແຍງລະບົບຂອງອຸປະກອນນີ້"</string>
src/com/android/settings/DeviceAdminAdd.java
553: mActionButton.setText(R.string.remove_device_admin);
564: mActionButton.setText(R.string.remove_device_admin);
res/values-hr/strings.xml
2068: <string name="remove_device_admin" msgid="7736174723276745230">"Deaktiviraj administrator uređaja"</string>
res/values-si-rLK/strings.xml
2053: <string name="remove_device_admin" msgid="7736174723276745230">"මෙම උපාංග පරිපාලක අක්රිය කරන්න"</string>
...
.xml就不用看了,直接找java文件找到源码
安卓打开原生设置
//am start + settings的包名
am start com.android.settings
板子下找文件去除失败log
//例子:找AutoUpdate.apk
find -name AutoUpdate.apk 2>/dev/null
板子下挂载rw权限
mount -o rw,remount 路径
板子下查询已经内置了的数据库属性
settings list system
settings list secure
settings list global
板子下命令读写入数据库
//settings put/get 数据库名字 变量 值
settings put system sys_rotate 50
settings get system sys_rotate
编译android的apk用于调试
//android studio下build->Build Bundle(s)/APK(s)->Build APK(s)
adb install D:\androidProject\MyApplication2\app\build\outputs\apk\debug\