Android常用命令

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

通过导航到 /sources/third_party/shaderc/ 并运行以下命令的方式在 NDK r12-beta 中构建 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 包中为我们提供了一系列的调试工具,例如 addr2lineobjdumpndk-stack

 addr2line -f -e libui.so 00006639

 ndk-stack -sym obj/local/x86/ -dump ~/android-x86-debug-log/tombstone_01

  1. adb shell logcat | ndk-stack -sym $PROJECT_PATH/obj/local/armeabi  
  2. add logical -v time >D:/77.txt

/platform-tools/systrace/systrace.py --time=10 -o trace.html sched gfx view -a <你的应用包名>

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

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Android)