命令>第一节

1.Push apk的.bat 文件命令写法:

@echo 当前时间是:%time% 即%time:~0,2%点%time:~3,2%分%time:~6,2%

秒%time:~9,2%厘秒@

adb root

adb remount

adb shell rm -f  /system/app/包名+apk名称

adb push 文件路径 /system/app/包名/(要push到的目标路径)

adb reboot

@echo change completely ~ ~,

press enter to quit

@pause

2.抓日志命令写法

  • adb shell logcat -v time >D :\logcat.txt

  • adb logcat -c && adb logcat >D:\log\xxxx.log

  • adb logcat -c && adb logcat >xxxx.log

说明:adb logcat -c: 清空缓存的日志

2.linux命令

1)将目录A重命名为B

  mv A B

2)ls -ll : 读取文件的详细信息

3.adb 命令

1)adb shell pm clear 包名:清空应用缓存和数据

2)adb shell pm list packages : 查看应用包名

3)adb uninstall 包名 :卸载应用

4)adb install  apk路径(apk绝对路径)

  • -l 锁定该应用程序

  • -r 替换已存在的应用程序,也就是说强制安装

  • -t 允许测试包

  • -s 把应用程序安装到sd卡上

  • -d 允许进行将见状,也就是安装的比手机上带的版本低

  • -g 为应用程序授予所有运行时的权限

5)adb remount :将系统文件设置为可以写入的模式,只针对于root的手机

4.fastboot常用命令集,完美取代recovery的所有功能

1)升级文件名-->update

作用:刷入ROM 例句:fastboot update update.zip

2)刷入所有镜像-->flashall

作用:刷入boot.img、system.img、recovery.img

例句:fastboot flashall update.zip

3)刷入镜像-->flash

作用:刷入boot.img、system.img、recovery.img

例句:fastboot fash system system.img

4)擦出镜像-->erase

作用:擦除boot.img、system.img、recovery.img

例句:fastboot erase boot 或 fastboot erase system

5)刷入内核--> boot

作用:刷入kernel.img

例句:fastboot boot kernel.img ramdisk.gz

6)创建内核-->flash:raw boot

作用:询问中

例句:fastboot flash:raw boot kernel.img ramdisk.gz

7)输出设备-->devices

作用:输出所有连接的设备

例句:fastboot devices

8)重启设备-->reboot

作用:重新启动,正常开机

例句:fastboot reboot

9)重启进入HBoot-->reboot - bootloader

作用:重新启动,进入HBoot

例句:fastboot reboot - bootloader

10)选项:擦除数据--> -w

作用:Recovery 下的wipe

例句:fastboot -w

11)指定设备--> -s

作用:指定某设备

例句:fastboot -s 序列号

12)指定设备--> -p

作用:指定某设备

例句:fastboot -p 设备名

13)指定设备--> -c

作用:替代系统启动命令

例句:fastboot -c 代码

14)供应商代码 --> -i

作用:指定一个自定义USB供应商ID

例句:fastboot -i 代码

15)供应商代码 --> -i

作用:指定一个定制内核基址

例句:fastboot -i 代码

5.线程堆栈抓取方式

1)获取线程堆栈

adb pull /data/anr

2)内存抓取方式

adb shell am dumphheap com.demo.myapllication(包名)  

/data/local/tmp/a.hprof

adb pull  /data/local/tmp/a.hprof  d:\log

6.抓取log的bat

echo===============GetLog version %ver_str%===============echo Current:%time% 即%time:~0,2%点%time:~3,2%分%time:6,2%秒%time:~9,2%厘秒@echo ####Current:%date%%time%

set date_time =”%date:~0,4% %date:~5,2%

%date:~8,2%_%time:~0,2%

%time:~3,2%”

set Folder=”Logs_%date:~0,4% %date:~5,2%

%date:~8,2%_%time:~0,2%

%time:~3,2%%time:~6,2%”

echo ####start to get log to

(%CD%\%Folder%)....

mkdir %Folder%

adb start-server

adb devices|findstr /e device

if %errorlevel%EQU 0(

echo ####find

devices.......

[device]...........

goto  SRART)

adb devices|findstr /e recovery

if %errorlevel% EQU 0(

echo ####find devices............

[recovery].................

goto START

)

echo !!!!!!!!!!!!!!!!!Can’t find

device!!!!!

goto END

:START

==========get log========

echo #### get android_logs to .\android_logs...

adb pull /data/log/android_logs/%Folder%/android_logs/

set del_opt=%1

if “%del_opt:~0,4%”==”/del”(set del_log=y

echo with [/del] options)else(

set /p del_log=”Need to del all Log(y/n)??(n)”

)

if “%del_log:~0,1%”==”y”(echo warning delete logs.........

adb shell “rm -rf  /data/log/android_logs/*”

)

echo =================get log end; please check folder=%Folder%=============

:END

7.名词解释

bat脚本中1>nul 2>nul 意思:

1>nul 意思是不显示命令运行的正确提示
2>nul 是不显示错误提示
一起就是 正确错误的都不显示
>是重定向符号
nul是空设备的意思,把提示输入到空设备就不显示了

8.显示当前的Activity

@echo off set PATH=%PATH%;tools;

if not defined ANDROID_ADB_SERVER_PORT

set ANDROID_ADB_SERVER_PORT=9999

adb start-server

mikdir outputs 1>nul 2>nul

adb shell dumpsys activity activities |findstr mResumedActivity >tmp.txt

for /F "tokens=4" %%i in(tmp.txt) do (echo %%i) del tmp.txt 1>nul 2>nul :fail

echo. pause

9.设置当前应用为设置模式

@echo off 

set PATH=%PATH%;tools;
  
if not defined ANDROID_ADB_SERVER_PORT

set ANDROID_ADB_SERVER_PORT=9999

adb start-server

mikdir outputs 1>nul 2>nul

adb shell dumpsys activity activities |findstr mResumedActivity >tmp.txt

for /F "tokens=4" %%i in(tmp.txt) do (set activity=%%i)

echo %activity%

for/F "delims=/ tokens=1" %%i in("%activity%")do(set packageName=%%i)

del tmp.txt 1>nul 2>nul

adb shell am set-debug-app-w%packageName%

pause

9.截屏命令

@echo off

set PATH=%PATH%;tools;
  
if not defined ANDROID_ADB_SERVER_PORT

set ANDROID_ADB_SERVER_PORT=9999

adb start-server

set file=snapshot-%date:~%0,4%

%date:~5,2%%date:~8,2%

%time:~0,2%%time:~3,2%

%time:~6,2%.png

set file=%file:=0%

mkdir outputs 1>nul 2>nul

adb exec-out screencap -p>

outputs/%file%

if errorlevel 1 goto fail

modify_image.exe outputs/

%file%

echo 截图 %file% 已放到outputs 文件夹中:fail

echo.

pause

10.记录日志

@echo off

set PATH=%PATH%;tools;
  
if not defined ANDROID_ADB_SERVER_PORT

set ANDROID_ADB_SERVER_PORT=9999

adb start-server

set file=log-%date:~0,4%

%date:~5,2%%date:~8,2%

%time:~0,2%%time:~3,2%

%time:~6,2%.txt

set file=%file:=0%

mkdir outputs 1>nul 2>nul

echo 正在抓取日志.....(关闭后保存到outputs文件夹中)

adb logcat >outputs/%file%

echo 日志 %file% 已放到 outputs文件夹中

echo.

pause

11.查看当前应用信息

@echo off

set PATH=%PATH%;tools;
  
if not defined ANDROID_ADB_SERVER_PORT

set ANDROID_ADB_SERVER_PORT=9999

adb start-server

mkdir outputs 1>nul 2>nul

adb shell dumpsys 

activity activities |findstr

mResumedActivity > tmp.txt

for/F "delims=/ tokens=1" %%i in("%activity%")do(set packageName=%%i)

adb shell dumpsys package %packageName%

pause

12.输入自定义命令

@echo off

set PATH=%PATH%;tools;
  
if not defined ANDROID_ADB_SERVER_PORT

set ANDROID_ADB_SERVER_PORT=9999

adb start-server

cmd

13.设置日志缓存buffer大小

adb shell setprop persist.log.tag

M

 adb shell setprop

persist.logd.size 256M

adb shell getprop

persist.log.tag


adb shell getprop

persist.logd.size

14.应用进程命令

各列参数意义:

USER 进程当前用户;

PID: Process ID进程ID

PPID: Process Parent ID 进程的父进程ID

VSIZE: Virtual Size,进程的虚拟内存大小

RSS: Resident Set Size 实际驻留在内存中的内存大小

WCHAN 休眠进程在内核中的地址

PC:Program Counter

NAME: 进程名

15.杀进程

adb shell kill [PID]

16.查看进程列表

adb shell ps 或者 adb shell ps -ef

17.根据包名查看进程

   1)adb shell "ps|grep com.ott.android.TMC(包名)"
   2)adb shell 
      ps -ef | grep com.android.wechat(包名)

18.查看父进程为524的进程

 adb shell--->ps -ef | grep 524(进程的父进程ID)

19.查看这个包下的对应的文件

adb shell-->pm list packages -f | grep com.android.wechat(包名);

20.在应用的包列表中,查找相应的包

   1)adb shell-->pm list packages | grep com.android.wechat(包名);

   2)adb shell-->ps -ef | grep com.android.wechat(包名)

备注:"grep"是查找的意思,"|" 是管道命令 是指ps命令与grep 同时执行

 21. Dumpsys 命令

    1)查看包下面的服务:adb shell dumpsys activity services 
 
 com.android.wechat(包名);
    
    2)dumpsys activity services | grep myservice(服务名称或者包名)
    
    3)dumpsys | grep Myservice(服务名称)

 22.adb shell dumpsys activity命令查看当前与用户交互的Activity任务栈

     1)adb shell dumpsys activity | grep -i run

     加上过滤条件后,可以看到当前运行的任务栈,比较简明清晰:
     
     2)adb shell dumpsys activity---------------查看ActvityManagerService 所有信息

     3)adb shell dumpsys activity activities----------查看Activity组件信息

     4)adb shell dumpsys activity services-----------查看Service组件信息

     5)adb shell dumpsys activity providers----------产看ContentProvider组件信息

     6)adb shell dumpsys activity broadcasts--------查看BraodcastReceiver信息

     7)adb shell dumpsys activity intents--------------查看Intent信息

     8)adb shell dumpsys activity processes---------查看进程信息

24.DOS 命令

1)del+路径 :删除文件的

2)rd+路径 :删除文件夹的

3)rd+路径:只能删除空文件夹,如果要连同内部文件一起删除的话要用rd/s 

25 adb 命令连续执行可以用&& 进行拼接

    example:adb logcat -c && adb logcat >221.txt

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值