lsusb 查询usb设备id 在主目录/.android/adb_usb.ini文件中添加0x****(数字0和字母x)
adb devices 显示当前运行的全部模拟器
adb start-server 启动adb服务,如果它没启动的话
adb kill-server关闭服务
adb reboot 重启 adb reboot -p 关机
adb install -r 应用程序.apk 安装应用程序(-r 重新安装该程序,保存数据 ;-s安装在SD卡内,而不是设备内部存储)
adb uninstall [-k]应用程序.apk 从设备删除程序包 ( -k 不删除程序运行所产生的数据和缓存目录)
adb push xxxx.apk /system/app 安装xxxx.apk到手机/system/app目录
adb shell 进入模拟器的shell模式
adb shell pm clear 包名 可以清除 某个包apk的数据,就是相当于清除数据
adb shell pm list packages 获得当前系统安装了哪些包
adb shell pm -p com.duomi.android 查看在手机中的安装位置(对应的apk)
adb shell pm disable com.lakala.cloudpos.autoactivebusybox vi xxxx shell模式中使用vi
rm -rf xxxx.apk shell模式中删除xxxx.apk
adb logcat -c 清空所有的日志缓存信息
adb logcat -d > qqq 将缓存的日志输出到qqq文件中, 并且不会阻塞
adb logcat -v process | grep 6666 6666 是进程PIID
adb logcat | grep act= 查看广播和服务
adb logcat | grep -iE "wqtest|qqqq" 打印log中含有wqtest或qqqq的信息
adb logcat | grep wqtest > qqq 过滤log并输出到文件
adb pull 手机目录 电脑目录 (电脑目录下执行) 手机文件复制到电脑
ctrl+c 终止正在运行的程序
adb shell ping 192.168.1.128 (手机联网) 检测192.168.1.128 服务器是否有问题
ctrl+z 挂起正在运行的程序 jobs查看当前有多少在后台运行的命令
fg重新启动前台被中断的任务,bg把被中断的任务放在后台执行. (bg %jobnumber)
find a路径 -name wq* 查找a路径下的wq*文件
adb shell ps | grep systemui 搜索手机中进程名包含systemui的进程
adb shell kill *** 结束手机中进程号为***的进程
ps -aux (|grep ***)linux中查电脑进程 sudo kill -s 9 *** 结束电脑***进程(-s 9:强制、尽快终止进程)
xkill 选择结束程序(点哪里结束那个进程)
scp -r 源文件 目标地
scp -r xxx public@10.20.31.10:/work1/ 本地文件xxx复制到public@10.20.31.10电脑的/work1/目录
scp -r public@10.20.31.10:/work1/wqtest/z507/ALPS-MP-M0.MP1-V2.84_TOP6737M_65_M0/idh.code/customize/out/Z507HZA_TOPODM_SATPAY_v1.1.15/Z507HZA_TOPODM_SATPAY_v1.1.15_e.mpc /work1/
复制文件xxx从10.20.31.10服务器到本地/work1/目录(在本地目录输入,而不是在服务器目录输入)
ctrl+L smb://data
adb root 获取管理员权限
adb remount 重新挂载系统分区,使系统分区重新可写
adb disable-verity 解锁system分区(out/host/linux-x86/bin/目录下有adb)
Log.d("wqtest",Log.getStackTraceString(new Throwable())) 打印堆栈信息
adb shell cat /proc/cpuinfo 查看手机CPU,可以看到手机架构(eg.ARMv7) 和几核处理器,可以帮助我们选择so库,排查手机cpu架构相关的问题
adb shell df 获取手机磁盘空间
adb version 查看adb版本
reset 删除之前终端上的显示 clear 向后翻一页
sudo pkill Xorg 电脑死机后注销重启
du -sh * 查看当前路径目录下子文件大小
du -sh 路径 查看此路径文件的总大小
df -h 查看总的使用情况
grep -rn “wqtest” /work1 在work1中搜索文件中包含wqtest的文件
locate *wenqiang* 查询文件地址
git reset origin/master 撤销前一个提交的commit值
git branch origin/master 撤销git add与git commit
reset 回退标签 checkout 回退目录
抓取mtklog
1)adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start --ei cmd_target 23
2)adb pull /storage/emulated/0/mtklog
关闭mtklog:adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name stop --ei cmd_target 23
adb shell am start -n app.standard.com/com.standard.app.activity.ConsumeSuccessActivity 进程名/activity
启动指定的某个activity (AndroidMainifest中包名为:com.standard.app
VI中同时搜索123,456,789 /123\|456\|789
adb shell am start -n com.android.gallery3d/.app.GalleryActivity 使用组件方式启动相册
adb shell am kill-all 杀死全部的后台进程
adb connect <device-ip-address> 连接到指定的ip,这个通常配合wifidebug
adb shell am broadcast -a *** 发送***广播
ctrl+shift+f 切换汉字简繁体
打包:将一大堆的文件或目录变成一个总的文件
tar或tgz:(打包:tar cvf xxx.tar xxx) (解包:tar xvf xxx.tar)
压缩:将一个大的文件通过一些压缩算法变成一个小文件
zip:(压缩:zip xxx.zip xxx) (解压:unzip xxx.zip) rar:(解压:unrar x xxxx.rar)
mkdir wqtest: 新建文件夹wqtest rm -rf wqtest: 强制删除文件wqtest
cp -r 源文件(文件夹) 目标位置 sudo shutdown +100 电脑在100分钟后关机
连接服务器: ssh public@10.20.31.2 密码:public10
adb shell setprop persist.sys.usb.activation yes 解锁usb调试(有的项目需要插入sim才可以打开调试,做了配置)
adb shell screencap -p | sed 's/\r$//' > wqtest.png 对手机屏幕进行截屏,保存在当前文件夹目录下(文件名wqtest.png不用adb pull)
getevent/sendevent adb shell getevent
getevent用于获取当前系统input设备的一些参数和实时事件的数据(辅助驱动的验证);sendevent用于发送input事件(模拟事件进行上层应用的验证),工具的源码位于Android SDK的system/core/toolbox下面。
adb shell input keyevent keycode 各个key的keycode 可在KeyEvent.java这个类中查到,常用keycode如下:
HOME:3 BACK:4 POWER:26 MENU:82
终端输入:adb shell input keyevent 3 外接设备会执行按home键,返回到主菜单事件
adb shell cat /proc/kmsg/ 打印内核信息,对应于驱动程序中的printk语句。
diff [选项]源文件 目标文件 比较两个文件的差异(文件或目录)(Meld Diff)
|xargs | 管道是实现“将前面的标准输出作为后面的标准输入” xargs是实现“将标准输入作为命令的参数”
*#*#3646633#*#* 抓取MTKlog
sudo apt-get update 更新软件列表
sudo apt-get upgrade 更新软件
adb shell setenforce 0 强制关闭selinux防火墙
文件夹中 F3 新开(关闭)一个同目录的文件
gedit ***.txt 用文本打开***.txt 文件 nautilus 打开终端所在路径对应的文件夹
chmod 777 -R 修改文件权限
已全编过了,但是模块编译时报Error: No /system/build.prop found. Perhaps You can't build all. touch out/target/product/tpw8735a_t6/system//build.prop
touch 更新文件时间命令
java -version 或者 which java
source /work1/code360/Hx6060530/ALPS-MP-M0.MP1-V2.140.3_TOP6737M_65_A_M0/alps/mbldenv.sh
未全编时的模块编译:
加载命令 source build/envsetup.sh
选择平台编译选项 lunch
执行编译 make -j8 USDKService
清除之前编译的可执行文件及配置文件 make clean
清除所有生成的文件 make distclean
adb shell dumpsys activity | grep "mFocusedActivity" 查看最上层的activity
adb shell dumpsys activity top 查看栈顶Activity,可以用来获取包名,可以用来查看其它app的包名
adb pull data/system/packages.xml 文件中apk对应的包名 查看apk对应的包名
activity ActivityManagerService AMS相关信息
package PackageManagerService PMS相关信息
window WindowManagerService WMS相关信息
input InputManagerService IMS相关信息
power PowerManagerService PMS相关信息
batterystats BatterystatsService 电池统计信息
battery BatteryService 电池信息
alarm AlarmManagerService 闹钟信息
dropbox DropboxManagerService 调试相关
procstats ProcessStatsService 进程统计
cpuinfo CpuBinder CPU
meminfo MemBinder 内存 adb shell dumpsys meminfo (查进程对应的pid号) adb shell top | grep pid号 动态显示此进程的内存使用情况
gfxinfo GraphicsBinder 图像
dbinfo DbBinder 数据库
SurfaceFlinger 图像相关
appops app使用情况
permission 权限
processinfo 进程服务
batteryproperties 电池相关
audio 查看声音信息
netstats 查看网络统计信息
diskstats 查看空间free状态
jobscheduler 查看任务计划
wifi wifi信息
diskstats 磁盘情况
usagestats 用户使用情况
devicestoragemonitor 设备信息
去掉文件后缀名(比如去掉.bak) rename 's/\.bak$//' *.bak
文件末尾加入字符串(比如jelline) rename 's/$/jelline/' *
//start modify by wenqiang,topwise for bug 23902 ,2018.03.27
cat aaa > aaa.txt 用cat重新复制一份aaa文件到aaa.txt