Android 常用命令行和 源码编译
1.取出 ANR log,分析问题
C:\Users\Administrator>adb shell
root@android:/ # cd data/ar
cd data/ar
/system/bin/sh: cd: /data/ar - No such file or directory
1|root@android:/ # cd data/anr
cd data/anr
root@android:/data/anr # ls
ls
traces.txt
导出traces.txt即可
C:\Users\Administrator>adb pull /data/anr/traces.txt d:/
140 KB/s (56265 bytes in 0.390s)
导入:
C:\Users\Administrator>adb push dd.png /sdcard/
adb shelll
ps
adb logcat | busybox grep pid
$ su //付权限
su
# cd data/app //第三方
cd data/app
# ls
ls
slideCount
com.wandoujia.phoenix2.usbproxy-2.apk
com.soufun.app-1.apk
com.noshufou.android.su-1.apk
com.sina.weibo-1.apk
sina.mobile.tianqitong-2.apk
net.sunniwell.app.swdmc-2.apk
com.wandoujia.phoenix2-1.apk
C:\Users\Administrator>adb logcat -s lixp:* li:*
C:\Users\Administrator>adb logcat -c
adb logcat -v time //显示日志时间
adb logcat > c:\123.txt
$ cd e:
//进入项目中lib所在目录
Administrator@lixp-PC /cygdrive/e
$ cd E:/svn_depository/Projector
Administrator@lixp-PC /cygdrive/e/svn_depository/Projector
$ $NDK/ndk-build
Cygwin : Generating dependency file converter script
Compile thumb : Httpdjni <= com_ysten_istouch_jni_httpd_HttpNative.c
jni/com_ysten_istouch_jni_httpd_HttpNative.c: In function 'Java_com_ysten_istouch_jni_httpd_HttpNative_startHttpd':
jni/com_ysten_istouch_jni_httpd_HttpNative.c:63: warning: assignment from incompatible pointer type
jni/com_ysten_istouch_jni_httpd_HttpNative.c:74: warning: incompatible implicit declaration of built-in function 'sprintf'
jni/com_ysten_istouch_jni_httpd_HttpNative.c:75: warning: passing argument 1 of 'mg_set_option' from incompatible pointer type
jni/Mongoose.h:103: note: expected 'struct mg_context *' but argument is of type 'struct mg_context1 *'
jni/com_ysten_istouch_jni_httpd_HttpNative.c:76: warning: passing argument 1 of 'mg_set_option' from incompatible pointer type
jni/Mongoose.h:103: note: expected 'struct mg_context *' but argument is of type 'struct mg_context1 *'
jni/com_ysten_istouch_jni_httpd_HttpNative.c:81: warning: passing argument 1 of 'mg_get_option' from incompatible pointer type
jni/Mongoose.h:88: note: expected 'const struct mg_context *' but argument is of type 'struct mg_context1 *'
jni/com_ysten_istouch_jni_httpd_HttpNative.c:82: warning: passing argument 1 of 'mg_get_option' from incompatible pointer type
jni/Mongoose.h:88: note: expected 'const struct mg_context *' but argument is of type 'struct mg_context1 *'
Compile thumb : Httpdjni <= Mongoose.c
SharedLibrary : libHttpdjni.so
Install : libHttpdjni.so => libs/armeabi/libHttpdjni.so
Administrator@lixp-PC /cygdrive/e/svn_depository/Projector
$ su
su
# cd data
cd data
# ls
ls
com.tencent.mm
com.sec.android.app.selftestmode
com.adobe.flashplayer
com.gameloft.android.GAND.GloftA
# cd com.test
cd com.test
# ls
ls
lib
databases
# cd databases
cd databases
# ls
ls
mycity.db
#
List of devices attached
emulator-5554 device
root@android:/ #
root@android:/ # input
input
usage: input ...
input text <string>
input keyevent <key code number or name>
input [touchscreen|touchpad] tap <x> <y>
input [touchscreen|touchpad] swipe <x1> <y1> <x2> <
input trackball press
input trackball roll <dx> <dy>
root@android:/ # input keyevent 22
input keyevent 22
root@android:/ # input keyevent 22
input keyevent 22
root@android:/ # input keyevent 23
input keyevent 23
root@android:/ #
C:\Users\Administrator>
C:\Users\Administrator>adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
remount succeeded
#su
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹
1 KB/s (345 bytes in 0.204s)
C:\Users\Administrator>adb shell
root@android:/ # cat /etc/ini/DeviceInfo.ini //一次显示所有文件
cat /etc/ini/DeviceInfo.ini
[DEVICE]
ItvManageBackupServer=http://tmsyst.is.ysten.net:8080/yst-tms
ItvManageServerIp=tmsyst.is.ysten.com
TermType=
QRCode=
PlatformType=
PlatformId=00000021201305021525593
NoticeInterval=600
Boot=http://bimsboot.ysten.com:9144/yst-bims-facade/stb/bootstrap.xml
BootIp=http://58.214.17.67:9144/yst-bims-facade/stb/bootstrap.xml
root@android:/ # ps | busybox grep Yst //搜索和看进程
ps | busybox grep Yst
root 81 1 100576 97032 ffffffff 400cfc94 S /system/bin/YstLoginSrv
root 82 1 7904 1760 ffffffff 4000ec94 S /system/bin/YstCdnManager
root 83 1 5244 1184 ffffffff 400edc94 S /system/bin/YstQOSASS
root@android:/ # kill -9 81
kill -9 81
grep: Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;
2.从键盘创建一个文件。 $ cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。 $cat file1 file2 > file
#lunch 13 (即 apollo_newmi-eng)
2、进入adb shell,输入netcfg
只adb中执行命令时,也许会提示你权限不够,这个时候用su ,提升为root哦!
Starting: Intent { cmp=com.touch.server.window/.SetWindow }
adb shell ps :查看当前终端中的进程信息
pm uninstall com.istv.launcher
Success
例如 int a=5;
float b=(float)a ;
执行Linux下的top、ps等命令,这些命令你也通过adb可以执行查看效果。
adb shell
$ top -h
top -h
Usage: top [-m max_procs] [-n iterations] [-d delay] [-s sort_column] [-t] [-h]
-m num Maximum number of processes to display. // 最多显示多少个进程
-n num Updates to show before exiting. // 刷新次数
-d num Seconds to wait between updates. // 刷新间隔时间(默认5秒)
-s col Column to sort by <cpu,vss,rss,thr> // 按哪列排序
-t Show threads instead of processes. // 显示线程信息而不是进程
-h Display this help screen. // 显示帮助文档
$ top -n 1
top -n 1
User 35%, System 13%, IOW 0%, IRQ 0% // CPU占用率
User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 // CPU使用情况
PID CPU% S #THR VSS RSS PCY UID Name // 进程属性
xx xx% x xx xx xx xx xx xx
CPU占用率:
User 用户进程
System 系统进程
IOW IO等待时间
IRQ 硬中断时间
CPU使用情况(指一个最小时间片内所占时间,单位jiffies。或者指所占进程数):
User 处于用户态的运行时间,不包含优先值为负进程
Nice 优先值为负的进程所占用的CPU时间
Sys 处于核心态的运行时间
Idle 除IO等待时间以外的其它等待时间
IOW IO等待时间
IRQ 硬中断时间
SIRQ 软中断时间
进程属性:
PID 进程在系统中的ID
busybox rm -fr *
adb start-server
top -d 1 | grep mediaserver
Android 常用命令行和 源码编译相关推荐
- 【Android】Android.bp 实例之源码编译动态库
背景说明 首先需要下载对应的版本的Android源代码(ASOP) 如何下载Android源码 在下载完ASOP后,需要搭建Android的编译环境. 那在Android下如何进行源码代码的编译呢? ...
- android源码编译 简书,android学习笔记之源码编译
编译环境 1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit 2.安装openJDK7 $ sudo apt-get update $ sudo apt-get install ...
- Android 常用开源框架源码解析 系列 (九)dagger2 呆哥兔 依赖注入库
一.前言 依赖注入定义 目标类中所依赖的其他的类的初始化过程,不是通过手动编码的方式创建的. 是将其他的类已经初始化好的实例自动注入的目标类中. "依赖注入"也是面向对象编程的 设 ...
- Android 常用开源框架源码解析 系列 (四)Glide
一.定义 Glide 一个被google所推荐的图片加载库,作者是bumptech.对Android SDk 最低要求是 API 10 与之功能类似的是Square公司的picasso 二.基本 ...
- android 8.0.0-r1 源码编译遇到的问题build/core/main.mk:21: recipe for target 'run_soong_ui' failed 解决
好处:使用studio查看源码的时候,如果不生成.ipr .iml文件,查看的Java文件是无法索引到其他的文件的,需要一个一个的搜索,很不方便,而.ipr .iml文件就可以解决这部分问题,而且它还 ...
- Redis 入门和 RedisTemplate 常用方法(常用命令 + 案例源码)
Redis 入门 内容 一.Redis 概念 二.Redis 优缺点 1. 优点 2. 缺点 三.应用场景 四.Redis 安装 五.常用命令 1. Redis 字符串(String) 1.1 概念 ...
- ubuntu16.04 下 android 4.4.4 源码编译
文章目录 环境依赖 编译过程 问题 1.MODULE.TARGET.SHARED_LIBRARIES.xxx already defined by xxx 2.make: **** No Rule t ...
- android 栈溢出 检查,安卓源码编译完成后打包时出现栈溢出,求大家解决
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [root@s7win android]# pack copying tools file copying configs file copying bo ...
- Android 源码编译详解【合集篇】
Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...
最新文章
- sihpostreboot 权限_记一次使用post请求重启TP-LINK TL-WDR7661路由
- vtk鼠标不交互_vtk 各种不同的鼠标交互方式
- [6]Windows内核情景分析 --APC
- 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」
- 黑魔法(method-swizzling)解决第三方库引发的问题
- java打印两个小人_[原创]Java画小人与阶梯问题的解答
- 【系统设计】发现类的方法
- 信息学奥赛一本通 提高篇 第6章 平衡树Treap
- ssis 列转换_SSIS中的术语提取转换
- 拒绝低效办公,9个超实用职场必备国产软件推荐
- 适合Java新手练手的小项目!
- NAT技术与代理服务器的区别
- SAPAS91导入期初固定资产数据往年购置与当年购置的区别
- 电脑屏幕上有个白色线条移动,怎么关掉?
- 《Effective C++》读书笔记 条款40:明智而审慎地使用多重继承
- 安卓点击图片跳转界面_详解拳头注册 + 安卓LOL试玩教程
- [css] 积累(old)
- 毕设必看——Python ttkbootstrap 制作账户注册信息界面
- qpsk相点 matlab,QPSK误码率和星座图MATLAB仿真
- 合同诈骗案立案标准是怎样的
热门文章
- windows画图工具入口
- miui12和鸿蒙系统,鸿蒙2.0和miui12对比_鸿蒙2.0和miui12使用对比
- 在计算机英语中input的意思,input是什么意思
- Opencv中,椭圆拟合后,得到该椭圆方程系数。
- 【渝粤题库】广东开放大学 建筑力学与结构 形成性考核
- 本周XR新闻:吴德周成立AR硬件公司,SideQuest支持PICO、Magic Leap
- 中国叶酒市场趋势报告、技术动态创新及市场预测
- 计算机错误651是什么故障,宽带连接错误651是什么意思?
- 噩梦射手(SurvivalShooter)教程(十一)
- shell数组 IFS