对于在Windows平台开发的Unity项目,掌握使用ADB工具,对于运行在Android环境的APP,非常便于安装和获取一些 Debug信息 。以下记录一些常用的操作,方便查阅。
Where is ADB executable file
ADB 可执行文件所在目录 Path
1,单独下载的Android SDK
C:\Users\XXX\AppData\Local\Android\Sdk\platform-tools
2,Mumu模拟器自带的adb server
示例 C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin
3,通过Unity LogCat插件的Tools菜单OpenTerminal
运行
命令 Path> adb或者adb_server(取实际的可执行文件名)
Devices list
命令 adb devices
真机设备id
由数字和字母组成的一串字符,如上:988b5c47465a344351
如果找不到设备,常有以下原因:
- 数据线,只支持充电
- 未开启Debug权限
- 杀毒软件
- 防火墙
模拟器id为ip:port
如:127.0.0.1:7555
连接模拟器
以MuMu模拟器12为例
先启动模拟器
输入 adb devices
C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin>adb_server devices
提示
List of devices attached
adb server is out of date. killing…
* daemon started successfully *
输入 adb connect [ip:port]
C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin>adb_server connect 127.0.0.1:7555
提示
connected to 127.0.0.1:7555
输入 adb devices
C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin>adb_server devices
提示
List of devices attached
127.0.0.1:7555 device
Install APK
命令 adb -s [设备ID] install [apk file path]
Log
命令 adb logcat [设备id]
也可以通过adb logcat -s Unity 专门获得Unity相关的日志(U要大写),大多数应用都是运行单个Unity Runtime。
通过CMD window 查看log不大方便,所以可以输出到本地文件来处理。
命令:
adb_server logcat -c
adb_server logcat -s Unity >xxx.log 或者 adb_server logcat -v time | find “Unity” >xxx2.log(”Unity”可以是包名,或者其他关键字)
ps:如果同时连接多个设备,会提示
– waiting for device –
error: more than one device/emulator
Memory Dump
通常做内存分析,需要获取APP所占系统内存,这里可以查看PSS指标。
PSS – Proportional Set Size:实际使用的物理内存(比例分配共享库占用的内存,按照进程数等比例划分)
命令 adb shell dumpsys meminfo [包名 com.xxx.xxx.xxx]
Packages
查看所有安装应用的包名。
命令 adb shell pm list packages
Extract APK
1,查询安装的所有APP包名
C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin>adb_server shell pm list packages
2,获取安装包地址
输入 adb shell pm path [package name]
C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin>adb_server shell pm path com.test.Unity
输出
package:/data/app/com.test.Unity-IwJU3z7I-I3tuIMPr-LYcQ==/base.apk
3,提取apk文件到目标文件目录下
输入 adb pull [source file] [destination file]
C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin>adb_server pull /data/app/com.test.Unity-IwJU3z7I-I3tuIMPr-LYcQ==/base.apk C:\Users\xxx\Desktop\xxx.apk
输出
1711 KB/s (140845123 bytes in 80.361s)
退出当前CMD指令
快捷键 Ctrl+C 强行中止命令执行
CMD操作目录与文件
打开文件夹目录
start “” “c:\windows” 或者 start explorer “c:\windows”
调用记事本打开xxx.txt文件
start “” “c:\xxx.txt” 或者 start notepad “c:\test.txt”