1、修改Android系统中/system的读写权限
登进Android系统中,用remount修改/system的只读权限,问题解决。
ourunix@ubuntu:~$ adb shell
# mount
列举出加载路径
# mount -o remount /dev/block/mtdblock0 /system
adb shell
cd /system/app
rm XXX.apk
XXX.apk就是要删除的apk。
./gradlew clean
2、 命令行启动android程序
adb shell am start -n "com.mj.b4815/com.baofeng.mojing.unity.MojingActivity"
adb shell am force-stop com.mj.b4815
3、查看应用启动时间
adb logcat -c && adb logcat -f /mnt/sdcard/up.txt -s tag
adb shell
4、查看电量信息:dumpsys battery
5、查看CPU信息:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序)
# -m 10表示显示数量为10
# -s表示按指定行排序
参数含义:
PID : progress identification,应用程序ID
S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
#THR : 程序当前所用的线程数
VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)
PCY : 前台(fg)和后台(bg)进程
UID : User Identification,用户身份ID
Name : 应用程序名称
6、查看某个包的内存信息: 在adb shell里输入:dumpsys meminfo
ps -ef | grep sud
adb shell dumpsys memento 7775 -d
参数含义:
dalvik : dalvik使用的内存
native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)
other : 除了dalvik和native的内存,包含C\C++非堆内存······
Pss : 该内存指将共享内存按比例分配到使用了共享内存的进程
allocated : 已使用的内存
free : 空闲的内存
private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)
share dirty : 共享,但有不能被换页出去的内存
7、查看所有内存信息:dumpsys meminfo
7.1 dumpsys SurfaceFlinger
8、adb shell input text 0000
9、adb shell cat /sys/kernel/debug/kgsl/kgsl-3d0/ctx/* >GL_context_dump.txt
10、录制屏幕
adb shell screenrecord --size 2880x1440 --bit-rate 10000000 /sdcard/112.mp4
adb shell screenrecord --size 2880x1440 --bit-rate 10000000 /sdcard/112.mp4
11,
adb root
adb remount
adb shell
rm -rf system/app/Launcher/
rm -rf data/data/com.baofeng.mj/
然后重启
adb shell am start -n "com.baofeng.mj/com.baofeng.mj.unity.UnityActivity"
12 android systrace
python systrace.py -b 32768 -t 15 gfx input view sched freq -o .\trace.html
13 在任意目录执行NDK编译
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
14 编译shaderc
通过导航到
../../../ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \
APP_STL:=c++_shared APP_ABI=all libshaderc_combined
15、ndk 调试
https://dl.google.com/android/repository/android-ndk-r13-darwin-x86_64.zip
首先,当 NDK 程序在发生 Crash 时,它会在路径 /data/tombstones/ 下产生导致程序 Crash 的文件 tombstone_xx。并且 Google 还在 NDK 包中为我们提供了一系列的调试工具,例如 addr2line、objdump、ndk-stack
addr2line -f -e libui.so 00006639
ndk-stack -sym obj/local/x86/ -dump ~/android-x86-debug-log/tombstone_01
16、查看内存使用情况
查看单个应用程序内存占用量的命令:adb shell dumpsys meminfo $包名 或者 $进程号
strip只能减小静态库的大小,生成后的动态库,无法减小
17
ndk
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
18
GT gps 位置:
adb push ./test.gps /sdcard/GT/Log/GPS
19
/Users/kbrs/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-addr2line
alias addr2line='/Users/kbrs/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-addr2line'
.bash_proile
addr2line -f -e xxx.so 0xx