IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> android系统&&adb命令 -> 正文阅读

[移动开发]android系统&&adb命令

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

adb命令

  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
生成新的镜像即可刷机

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:35:19  更:2021-08-21 15:35:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:12:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码