Android 常用命令

获取当前界面及抓取log

adb shell "dumpsys window |grep  mCurrentFocus" 
adb wait-for-device;adb logcat -b all > 1.log

解压Android   .img 文件

android/out/host/linux-86/bin/simg2img

找到要解压的.img文件

simg2img  product.img product.img.raw

sudo mount -o ro product.img.raw product 文件夹

或者

sudo mount -r product.img.raw  自己创建的文件夹

关于repo

repog forall -c "git checkout -t remotes/m/S/AQUOS/SENIOR_MASTER" 使用repo 切换分支分离
repo branch 查看当前分支
repo abandon 分支名 (删除分支)

查看repo下仓库的分支

cat manifest.xml | grep 关键字

过滤手机中的某些信息

adb shell getprop | grep ro.product.

编译命令在这看

android/build$ cat envsetup.sh

关于logcat

查看log缓存区大小 adb logcat -g
通过命令行设置log缓存区大小:adb logcat -G 10M
抓取异常log adb logcat -b crash

mk 转bp

1.Source full build 过(最好)​
2.在out/soong/host/linux-x86/bin/目录下存在androidmk文件。​
  如果不存在androidmk文件,使用m -j blueprint_tools命令生成​
具体转换方法:​
1.cd out/soong/host/linux-x86/bin/
2.执行命令:androidmk <android.mk文件> > <android.bp文件>

关键字段

LOCAL_PRIVATE_PLATFORM_APIS := true设置后,会使用sdk的hide的api來编译 
LOCAL_SDK_VERSION := current  意思是编译时忽略系统隐藏类(@hide)

状态栏下有阴影处理

  <item name="android:windowContentOverlay">@null</item>

Settings 数据库

安卓的settings共有三个表:
global:所有的偏好设置对系统的所有用户公开,第三方APP只能读,无写权限;
system:包含各种各样的用户偏好系统设置;
secure:安全性的用户偏好系统设置,第三方APP只能读,无写权限
adb shell settings list global 展示所有的条目
adb shell settings get global adb 获取abc的值
adb shell settings put global adb 8 设置abc的值为8

打印堆栈 

系统级应用 用Debug.getCallers(int) int代表堆栈的层数

也可以用Thread.dumpStack();或者Log.e("TAG",new Throwable())

版权声明:本文为sinat_33047329原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。