Android开发常用指令
android 系统系统负载查看
dumpsys cpuinfocat /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
Android开发常用指令相关推荐
- Android开发常用功能 https://www.2cto.com/kf/201611/561847.html
Android开发常用功能 2016-11-03 09:43:58 来源:EvanJames的专栏 收藏 我要投稿 1.定时器的实现 (1)采用Handler的postDelay ...
- Android开发常用权限设置
Android开发常用权限设置 加在AndroidManifest.xml 文件中manifest标签以内,application以外 例如: 访问登记属性 android.permission.AC ...
- DM368开发 -- 常用指令演示
参看:Hi3516A开发--常用指令和根文件目录详解 模块被加载后,在/sys/module/目录下降出现以此模块名命名的目录 root@dm368-evm:/sys/module# ls 8250 ...
- android开发常用的颜色值
android 开发常用颜色值 AA 指定透明度. 00 是完全透明. FF 是完全不透明.超出取值范围的值将被恢复为默认值. ffff00 ffff33 ffff66 ffff99 ffffcc f ...
- Android 开发常用ADB命令集合
Android开发常用ADB命令: 1. 安装apk adb install -r apk路径(注:-r表示覆盖) 2. 启动应用 adb shell am start -n package_name ...
- android系列:第一篇 android开发常用命令集合,代码目录简介
下面整理了android开发常用命令集合如adb命令,adb over wifi,jgrep等代码搜索命令,编译环境变量配置,lunch平台选择,mm模块编译,godir代码路径跳转,log.v()等 ...
- Android开发常用开源库
Android 开发常用开源库 一.网络请求 二.图片加载 三.数据库 四.通讯 五.注解 六.JSON解析 七.性能优化 八.性能优化之布局分析 九.工具类 十.状态栏 十一.扫码库 十二.播放器 ...
- Android开发常用软件
shankes 博客访问链接: CSDN :shankes的博客 简书 : shankes 码云:shankes.gitee.io github:sankes.github.io Android开发常 ...
- android 弹窗代码大全,36个Android开发常用经典代码大全
//36个Android开发常用代码片段 //拨打电话 public static void call(Context context, String phoneNumber) { context.s ...
最新文章
- 【机器学习】如何简单形象又有趣地讲解神经网络是什么?
- 喜忧参半:我国蜂窝物联网全球占比超过75%
- React多页面应用脚手架-v1.3.0
- Python之Pandas库学习(一):简介
- 开放平台战略下的趣店用户“跨界”
- si24r1程序_简要分析SI24R1替代兼容NRF24L01P
- Poj1218_THE DRUNK JAILER(水题)
- 百度地图实现定位功能
- java php 女生数量,萌妹子告诉你php和java如何选
- mysql5.6-5.7性能调优
- 关于SVN常用命令之export
- 实战爬虫:python爬虫之爬取虎扑湖人专区新闻中科比相关新闻
- JVM-类加载、GC回收机制
- Android黑科技之删除系统App
- DAY 3 字符串、列表、字典练习 - 班级按成绩分组小程序快递分拣小程序
- MD5加密算法特点及简单实现(Java)
- 安兔兔跑分可信吗_安兔兔跑分能信吗?手机性能与跑分关系分析,说点你不知道的!...
- sql性能优化:sql Server 怎么添加全文索引+语法深度剖析+测试
- python 3d绘图旋转_Python:如何围绕z轴旋转曲面并进行三维绘图?
- VMware教程(一):设置 CentOS 7 共享文件夹
热门文章
- Java源码程序设计-房屋出租管理系统设计与实现
- 详解html和thymeleaf中的相对路径,解决springboot前台页面的相对路径问题
- LocalDate快速获取当前季度
- 服务器远程桌面连接直接被弹出,win server 2012系统远程桌面连接失败弹出出现身份验证错误 要求的函数不受支持该如何处理...
- 为什么要学习C语言?
- 一张图搞懂华为接口类型!
- 有向无环图的自动布局算法
- Serv-u控制台加密
- 大咖驾到!5A学霸教你如何使用鱼骨图解决项目难题
- [Windows] 微信超级管家,自动好友回复、计数、自动同意、群发、好友导出、消息日志、无限多开