• adb使用手册


    注:实用示例在后面

    常用命令

    adb version
    adb devices
    adb shell → ls | grep "data"
    adb list targets 显示系统中全部Android平台
    adb install -r C:Test.apk 安装apk通过install
    abd uninstall com.xxx.xxx 卸载apk
    adb push C:Test.apk /system/app/ 安装apk通过push
    adb push C:Test.apk /system/temp/ 向手机写入文件
    adb pull /system/temp/test.jpg C:fastworkapps 从手机取出文件
    adb logcat | grep "abc" 查看Log
    adb shell df 查看系统盘符
    adb shell pm list packages -f 输出所有已安装的apk , -f 加上后信息更全相当于 adb shell pm list packages+adb shell pm path com.xxx.xxx,而且还可以

    adb shell input keyevent 3 模拟按键输出

    code: 
    82 menu ; 3  home  ; 19 up    ; 20 down ; 
    21 left ; 22 right ; 66 enter ; 4  back  .
    

    adb shell input touchscreen swipe 18 665 18 350 模拟滑动输入
    adb shell am start -n 包名/包名+类名 启动一个Activity
    adb shell screenrecord /sdcard/demo.mp4 录制屏幕
    adb shell screencap /sdcard/demo.png 截屏
    adb reboot 重新启动

    查看进程
    查看全部 → adb shell ps
    Linux → adb shell ps | grep com.art.exploration
    Windows → adb shell "ps|grep com.art.exploration"

    Android常用

    1. 进入Android系统根目录: C:Usersjooy>adb shell
    2. 进入data目录
    cd data
    再次执行
    cd data
    

    看到这里想必大家都明白了,我们用的其实就是linux命令,因为Android就是基于Linux内核的吗。
    # 号表示我们有了 根权限 ;我们安装应用的包默认在 /data/data/ 目录下 。

    1. 执行命令 ls , 会列出我们安装应用的包名:
    1. 举个例子,我现在想把我的项目里的db文件拿出来看一下,怎么做呢?
      首先,通过应用包名进入到目录下,
      root@KT45Q:/data/data # cd com.jooy.barcodesystem
      执行 ls 命令,查看目录结构:

      进入到 databases目录中 , ls :

      到这里我们就找到了所需的db文件:
      最后,执行 adb pull 把db文件拉取出来,并放到PC中的指定文件夹下,比如目录 C:2018:
      adb pull /data/data/com.jooy.barcodesystem/databases/barcodesystem.db C:2018

    2. adb模拟系统杀死进程(需要运行P +的仿真器)
      首先,通过键入以下命令来确保该进程正在运行:
      adb shell ps "-A |grep" lifecycle
      在设备或仿真器上按Home键,然后运行:
      adb shell am kill com.example.android.codelabs.lifecycle
      应该什么也没有得到,表明该进程已被正确终止。

    monkey压力测试


    monkey -p com.qihu360.mobilesafe -v 1500 其中-p 后面跟包名 ;-v 后面跟次数; 通过观察log日志,查看应用中出现的问题。

    eg:

    adb shell monkey -p com.mmednet.angel -v 1000
    adb shell monkey -p com.mmednet.angel --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 2000 >D:angel .txt
    

    示例

    用adb命令取出apk文件(包名:me.rosuh.androidfilepicker)

    C:UsersChangBao>adb shell pm list packages -f me.rosuh.androidfilepicker
    package:/data/app/me.rosuh.androidfilepicker-INvp3TcINAg0wjpxK0dcTA==/base.apk=me.rosuh.androidfilepicker
    
    C:UsersChangBao>adb pull /data/app/me.rosuh.androidfilepicker-INvp3TcINAg0wjpxK0dcTA==/base.apk C:UsersChangBaoDesktop	emplalala.apk
    /data/app/me.rosuh.androidfilepicker-INvp3TcINAg0wjpxK0dcT...ile pulled, 0 skipped. 31.8 MB/s (2527952 bytes in 0.076s)
    

    App秒启

    adb shell am start -S -W com.improve/com.improve.layout.SplashActivity

    导出Android应用的数据库(db)文件

    由于Android系统权限问题,直接用Android StudioDevice File Explorer无法查看其他应用的*.db文件,不过可以通过adb命令获取到:

    adb pull /data/data/com.richfit.xxx/databases/xxx.db D:fastworkWorkOrientalCompany

    Android通过adb命令Debug调试

    05/30 10:03:39: Launching module_app
    $ adb push C:fastworkProjectsprojectCJPTmodule_appuildoutputsapkdebugmodule_app-debug.apk /data/local/tmp/lh.com.myapplication
    $ adb shell pm install -t -r "/data/local/tmp/lh.com.myapplication"
        pkg: /data/local/tmp/lh.com.myapplication
    Success
    
    
    $ adb shell am start -n "lh.com.myapplication/com.lh.caijiplatform.view.activity.SpalishActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
    Connecting to lh.com.myapplication
    Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
    D/ActivityThread: hoder:android.app.IActivityManager$ContentProviderHolder@711a30c,provider,holder.Provider:android.content.ContentProviderProxy@9784455
    W/ActivityThread: Application lh.com.myapplication is waiting for the debugger on port 8100...
    I/System.out: Sending WAIT chunk
    I/art: Debugger is active
    I/System.out: Debugger has connected
    I/System.out: waiting for debugger to settle...
    
  • 相关阅读:
    解决spring配置文件没有提示的问题
    SpringMVC 中HttpMessageConverter简介和Http请求415 Unsupported Media Type的问题
    在编辑Spring的配置文件时的自动提示
    Java注释@interface的用法【转】
    spring-autowire机制
    一些汇编指令
    Windows底层开发前期学习准备工作
    log4j.properties中的这句话“log4j.logger.org.hibernate.SQL=DEBUG ”该怎么写在log4j.xml里面呢?
    log4j 配置文件 (XML/.properties)
    [VC]C++ operator 两种用法
  • 原文地址:https://www.cnblogs.com/jooy/p/13821123.html
Copyright © 2020-2023  润新知