android系统&&adb命令

动态换肤实现思路-网易云

adb命令

adb shell dumpsys window w |findstr / |findstr name= 查看内存中那个app在运行

  1. adb push

命令格式: adb push file devicepath
说明: 把文件file推送到devicepath目录下 , file代表 要推送的文件及文件路径 devicepath代表系统的具体目录
例如: adb push d:\luchang_65\ui1\Launcher.apk system/app/Launcher/ // 把文件Launcher.apk 推送到机 system/app/Launcher/目录下

  1. adb pull

命令格式: adb pull devicefile pcpath
说明: 把机上的文件devicefile 推送到pcpat路径下 , devicefile 要推送的系统上的文件, pcpath 代表要保存的的电脑上的路径
例如: adb pull system/build.prop d:/ // 把机系统上 system/build.prop 文件 推送到电脑d盘根目录

  1. 命令格式: adb install -r apkfile
    说明: 安装一个apk到机器上, 和用U盘拷贝apk ,然后 到机上文件管理里,点击安装apk一样 。apkfile代表要安装的apk文件及路径
    例如: adb install d:\luchang_65\ui1\Launcher.apk // 把Launcher.apk 安装到车机上

  2. 命令格式: adb uninstall apkpackage
    说明: 卸载机上的一个apk ,能卸载的apk必须是三方可卸载的apk,打在系统区的apk,这个命令卸载不掉。 apkpackage 代表要卸载的apk的包名
    例如: adb install com.qihoo360.mobilesafe // 卸载360手机助手

  3. 命令格式: adb shell am start -n pkgname/class
    说明: 启动一个apk,这个命令就和在机上点击图标打开一个apk一样。 pkgname 代表要启动的apk包名, class 代表要启动的apk类名
    例如: adb shell am start -n com.acloud.stub.localmusic/com.acloud.stub.localmusic.QtActivity // 启动本地音乐

  4. 命令格式:adb shell am force-stop
    说明:强行关闭apk运行。 packagename 代表要关闭的apk包名
    例如: adb shell am force-stop com.acloud.stub.localmusic

  5. 命令格式: adb shell am startservice -n pkgname/class
    说明: 启动一个服务apk,这个命令就和在机上点击图标打开一个apk一样。 pkgname 代表要启动的apk包名, class 代表要启动的apk类名

  6. 命令格式: adb shell am broadcast -a action
    说明: 模拟发动广播一个广播。 action 代表广播名字符串。发送广播可以带参数,具体根据广播参数说明可以输入 adb shell am 查看。

    例如: adb shell am broadcast -a xy.android.acc.off // 发送 acc off 通知

  7. 命令格式: adb shell input keyevent
    说明: 模拟按键输入。 keycode 代表要输入的按键值。 安卓系统有标准的按键值表。
    例如: adb shell input keyevent 3 // 模拟按下home键 ,3 为home按键值

  8. 命令格式: adb shell logcat -v time > d:\log.log
    说明: 抓取系统运行的log,并把log写入到本地电脑具体路径,pc上存储log的路径和文件可以任意命名。
    例如: adb shell logcat -v time > d:\log.log // 抓取系统运行log到 电脑D盘log.log 文件。

  9. 命令格式: adb logcat -c adb shell dmesg
    说明: 清除系统之前缓存的log 和查看内核log

  10. 命令格式: adb shell top -m n
    说明: 实时查看系统运行是CPU占用率 ,n代表要查看cpu占比最高的前n个进程
    例如: adb shell top -m 5 // 查看系统运行时cpu占比最高的前5个进程

  11. 命令格式: adb shell dumpsys meminfo
    说明:实时查看系统运行时各APP占用的内存使用情况,从高到低排列 。也可以查看特定app的使用内存。
    例如: adb shell dumpsys meminfo

命令格式: adb shell pm list packages
说明:查看机系统中的所有的apk 包名 ,还可以分别 查看如下:

adb shell pm list packages -s // 只查看系统apk 包名
adb shell pm list packages -3 // 只查看三方apk包名

  1. 命令格式: adb devices
    说明:查看连接到车机Usb 上的设备

命令格式: adb shell screencap -p picpath
说明:截取当前屏幕保存为图片,picpath代表保存图片的路径及文件名,文件名自定义,这个路径为车机上的存储路径
例如:adb shell screencap -p /sdcard/sc.png adb pull /sdcard/sc.png d:/sc.png // 截取屏幕保存为sc.png,并把图片导出到电脑d盘根目录

  1. 命令格式:adb shell monkey -p -v n
    说明: 对apk压力测试,随机进行n个随机事件触发
    例如: adb shell monkey -p com.acloud.stub.localmusic -v 500 // 对本地音乐进行随机500次事件触发测试

  2. 设备相关信息查询:
    adb shell ps // 查看系统运行的进程信息
    adb shell wm density // 查看当前设备屏幕密度
    adb shell wm size // 查看当前设备屏幕分辨率
    adb shell cat /proc/cpuinfo // 查看当前设备CPU信息
    adb shell cat /proc/meminfo // 查看当前设备物理内存大小
    adb shell cat /sys/class/net/wlan0/address //查看当前设备蓝牙mac地址
    adb shell dumpsys iphonesubinfo // 查看当前设备imei号
    adb shell getprop ro.product.model // 查看当前设备型号

android系统

Android源码目录

abi Application Binary Interface : 应用程序二进制接口,abi相信同学们在SO库调用上遇到过,如果不支持该平台的话就说不ABI不支持。

art Android Runtime:安卓运行时。这个会提前把字节码编译成二进制机器码保存起来,执行的时候加载速度比较快。Dalvik虚拟机则是在加载以后再去编译的,所以速度上ART会比Dalvik快一点。牺牲空间来赢取时间。

bionic — 基础库,Android系统与Linux内核的桥梁。Bionic 音标为 bīˈänik,翻译为"仿生"。

bootable — 系统启动引导相关程序

build — 用于构建Android系统的工具,也就是用于编译Android系统的

cts Compatibility Test Suite —兼容性测试

dalvik — dalvik虚拟机,用于解析执行dex文件的虚拟机

developers —开发者目录

developerment — 开发目录,比如说应用,application就在里面了,apps
devices — 设备相关的配置信息,什么索尼、HTC、自己的产品,就可以定义在这个目录下了
docs — 文档
external — 开源模组相关文件
frameworks —系统架构,Android的核心了
hardware — hal层代码,硬件抽象层
libcore — 核心库
libnativehelper — native帮助库,实现JNI的相关文件
ndk native development kit
out — 输出目录,编译以后生成的目录,相关的产出就在这里了
packages —应用程序包。一些系统的应用就在这里了,比如说蓝牙,Launcher,相机,拨号之类的。
pdk Plug-in Development Kit (PDK) is designed to help you build your own pattern projects
platform_testing — 平台测试
prebuilts — x86/arm架构下预编译的文件
sdk software development kit
system — 底层系统文件
toolchain —工具链
tools — 工具文件
Makefile — mk文件,用于控制编译

AOSP 编译说明:

AOSP
APK
Android.mk
Android.mk解析
m 在源码树的根目录执行make;
mm Build当前目录下的的模块;
mmm Build指定目录下的模块
cgrep 在所有C/C文件执行grep;(Linux gerp命令—查找,匹配,搜索)
jgrep 在所有java文件执行grep;
resgrep 在所有res/*.xml文件执行grep;
godir 转到包含某文件的目录路径;

source build/envsetup.sh

souce envsetup.sh就是把envsetup.sh里的命令载到当前的bash中,可以直接调用里面的命令。
env就是环境的意思,setup可以理解为设置,这个文件加载可以理解为编译准备
比如说里面有launch指令,有mm指令,有make指令…。如果你没有source的话,这些指令就不有

make -j40

make -j16

make 就是构建,可以理解根据make file编译内容了。-j是job,推荐使用cpu的线程数*4,比如说我的CPU是16核,32线程那么我就可以使用make -j128 全功率去编译。

在android源码里,make file,也就是make文件包括三大部分:
在build/core下的mk
在device目录下的各种mk
以及各app/jar/aar模块单独的mk
另外,除了make以外,还要留意一下mm命令和mmm命令,这个命令也挺好用的。
我们可以单独编译某些模块
然后通过
make snod
生成新的镜像即可刷机

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值