Android开发常用指令

android 系统系统负载查看

dumpsys cpuinfo






cat /proc/stat
CPU (user, nice, system, idle, iowait, irq, softirq, stealstolen, guest);
user(): 表示从系统启动开始至今处于用户态的运行时间,注意不包含 nice 值为负的进程。
nice() :表示从系统启动开始至今nice 值为负的进程所占用的 CPU 时间。
system(): 表示从系统启动开始至今处于内核态的运行时间。
idle() :表示从系统启动开始至今除 IO 等待时间以外的其他等待时间。
iowait():表示从系统启动开始至今的IO 等待时间。(从Linux V2.5.41开始包含)
irq():表示从系统启动开始至今的硬中断时间。(从Linux V2.6.0-test4开始包含)
softirq():表示从系统启动开始至今的软中断时间。(从Linux V2.6.0-test4开始包含)
stealstolen(0) :表示当在虚拟化环境中运行时在其他操作系统中所花费的时间。在Android系统下此值为0。
guest(0) :表示当在Linux内核的控制下为其它操作系统运行虚拟CPU所花费的时间。在Android系统下此值为0。(从 V2.6.24开始包含)

打开开发者模式下oemlock,
要先将手机unlock:
①adb reboot bootLoader
②fastboot flashing unlock  
③按下键(终端会提示(bootloader) Start unlock flow) 
④成功后会进入下个界面 可以 fastboot reboot或者直接断电重启
2、adb root
3、adb remount -R
   remount -R 失败说明还没有unlock,  
   remount -R 成功会重启。
3、adb root && adb remount(提示成功)
 

二,调试ELF可执行程序

查看这个可执行程序的编译依赖信息

readelf -l xxx
readelf -d xxx

1. 通过coredump查看调用栈(前提应用程序是  -g  编译出来的)

echo “/data/core/core-%e-%p-%t” > /proc/sys/kernel/core_pattern
ulimit -c unlimited
gdb [exec file] [core file]

~/workspace/source/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb hello core-hello-5454-1546945377

2.动态库中

使用Android studio开发的c/c++库程序,生成的so自带符号表,所以使用addr2line工具可以直接定位。

#00 pc 000000000000f0d8  /data/app/~~0StNz_c6FicXDPuX4eo5DQ==/com.adayo.myapp-eZNn5iBFQqX-TkUCrAgdyg==/base.apk!libmyapp.so (fun_d()+48) (BuildId: fbbcdcfd64b479c759bca5116eec60c6cebaa363)
#01 pc 000000000000f0f0  /data/app/~~0StNz_c6FicXDPuX4eo5DQ==/com.adayo.myapp-eZNn5iBFQqX-TkUCrAgdyg==/base.apk!libmyapp.so (fun_c()+8) (BuildId: fbbcdcfd64b479c759bca5116eec60c6cebaa363)
#02 pc 000000000000f104  /data/app/~~0StNz_c6FicXDPuX4eo5DQ==/com.adayo.myapp-eZNn5iBFQqX-TkUCrAgdyg==/base.apk!libmyapp.so (fun_b()+8) (BuildId: fbbcdcfd64b479c759bca5116eec60c6cebaa363)
#03 pc 000000000000ed08  /data/app/~~0StNz_c6FicXDPuX4eo5DQ==/com.adayo.myapp-eZNn5iBFQqX-TkUCrAgdyg==/base.apk!libmyapp.so (fun_a()+8) (BuildId: fbbcdcfd64b479c759bca5116eec60c6cebaa363)
#04 pc 000000000000ece8  /data/app/~~0StNz_c6FicXDPuX4eo5DQ==/com.adayo.myapp-eZNn5iBFQqX-TkUCrAgdyg==/base.apk!libmyapp.so (childCallback(void*)+48) (BuildId: fbbcdcfd64b479c759bca5116eec60c6cebaa363)
#05 pc 00000000000b1690  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: b49025cc9efc1955a539cd11a81ddf77)
#06 pc 00000000000510ac  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: b49025cc9efc1955a539cd11a81ddf77)

<aarch64-linux-android-addr2line>  -e <共享库>  <pc值>  -s

C:\Users\用户名\AppData\Local\Android\Sdk\ndk\21.4.7075529\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-addr2line.exe   -e libmyapp.so 000000000000f0d8  -s

三,查看文件

Linux 查看占用文件的进程  lsof <文件名>

# lsof /mnt/user/0/emulated/0/DCIM/Camera/VID_20220524_171544.mp4

 Linux查看进程占用的文件  ls -l /proc/<进程号>/fd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值