-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMonkey_CMD_and_compile_issue.txt
106 lines (63 loc) · 3.23 KB
/
Monkey_CMD_and_compile_issue.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
【1】在每次编译前先使用make update-api去更新,再进行make编译
hexagon-clang: error: unable to excute command: no such file or directory
hexagon-clang: error: hexagon-as conmmand failed due to signal(use -v to see invocation)
QuIC LLVM hexagon clang version 6.4()
hexagon-clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source and associated run script.
单个文件在git的更新,不要使用git pull。
git fetch
git checkout origin/master -- path/to/file
先更新本地库,在指定的remote分支上选择你需要的目录中的单个文件
【2】编译MPSS的问题
ln -s 6.4.01 6.4.08 //hexagon工具的版本问题可用符号链接解决
sudo apt-get install libxml-parser-perl //缺少perl的解析库文件,安装即可
【3】Sub-process /usr/bin/dpkg returned an error code (1) 问题解决办法
cd /var/lib/dpkg
sudo mv info info.bak #即备份一个info
sudo mkdir info #新建一个新的info目录
sudo apt-get --reinstall install 软件包名 //然后采用以下命令重装那些出错的软件包
sudo -rf info //最后用原来的info.bak 替换新的info
sudo mv info.bak info
【4】patch
git生成patch:
git format-patch aaa...bbb
收到相应的.patch文件,切换到你需要操作的分支目录上,再一次git pull之后,执行打patch的命令:
patch -p1 < xxx.patch
p加数字表示从第几层子目录开始应用此补丁,然后手动commit提交即可
取消patch:
patch -RE -p0 < xxx.patch
生成patch:
diff -Naur path/to/A path/to/B > xxx.patch
【5】Monkey
利用socket通讯的方式模拟用户的各类随机输入方式,测试设备是否会出现异常。monkey程序由Android系统自带,一般放在/sdk/sdk/tools/bin/monkey,一般通过adb命令执行monkey测试。
adb shell monkey
-p packge-name //用于指定某一些包/app,一般名字是“com.xxx.xxx”的形式,可以在/data/data目录下查看设备包含的所有包名称
-v -v -v //打印信息的详细程度,一共有3个等级,v越多越详细。
-s seed //monkey测试中产生事件的序列,相同seed值产生的事件的序列相同。
adb shell monkey -v -v -s 500 > D:\target.txt
【6】CSG 封闭用户群组
UE和CSG是1对多的关系,UE中会有一个CSG-list,包含对应所有的CSG-id,根据这些CSG-id,一个UE可以属于多个CSG,接收多个CSG下发的消息。
【7】adb shell screenrecord /.../xxx.mp4
利用adb命令直接录屏并存储视频文件
【8】在debug中常用查看状态或者信息的命令
adb shell xxx
----------
buddyinfo
dumpstate
dumpsys
getprop
pmlist //所有package名
meminfo
ps //当前运行的所有进程
sched_debug
serviceslist //所有可用的服务列表
top
interrupts
【9】Mmm,mm编译问题
需要先执行source build/envsetup.sh初始化环境
//范例
mm packages/apps/Email/
mmm packages/apps/Email/
对应的模块的名需要你在对应目录下Android.mk文件里查看LOCAL_PACKAGE_NAME这个属性的值
加 -B 属性表示编译该模块下的所有文件,否则只会编译有更新的文件
【10】刷写整包(userdata分区除外)
把对应刷机xml表中userdata和gpt_main0, gpt_backup0项去掉。