精华内容
下载资源
问答
  • 建议你采用adb 命令进行进行安装命令是:adb install <apk的路径>。adb uninstall <apk的路径>。这是安装与卸载的命令。安装失败的话,先进行卸载,原因是由于你的apk没有写在干净。...

    建议你采用adb 命令进行进行安装

    命令是:adb install <apk的路径>。

    adb uninstall <apk的路径>。

    这是安装与卸载的命令。安装失败的话,先进行卸载,原因是由于你的apk没有写在干净。

    如果还是安装失败使用  adb install -t <apk路径>这个是可以的,我用过。

    怎样找到adb执行文件路径:一般在sdk中的。

    我的路径是:C:\Users\zhangjiqun\AppData\Local\Android\sdk\platform-tools。一般都是这个。

    adb命令学习。

    获取序列号:

     adb get-serialno
    

    查看连接计算机的设备:

     adb devices
    

    重启机器:

     adb reboot
    

    重启到bootloader,即刷机模式:

     adb reboot bootloader
    

    重启到recovery,即恢复模式:

     adb reboot recovery
    

    查看log:

     adb logcat
    

    终止adb服务进程:

     adb kill-server
    

    重启adb服务进程:

     adb start-server
    

    获取机器MAC地址:

     adb shell  cat /sys/class/net/wlan0/address
    

    获取CPU序列号:

    adb shell cat /proc/cpuinfo
    

    安装APK:

    adb install <apkfile> //比如:adb install baidu.apk
    

    保留数据和缓存文件,重新安装apk:

    adb install -r <apkfile> //比如:adb install -r baidu.apk
    

    安装apk到sd卡:

    adb install -s <apkfile> // 比如:adb install -s baidu.apk
    

    卸载APK:

    adb uninstall <package> //比如:adb uninstall com.baidu.search
    

    卸载app但保留数据和缓存文件:

    adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
    

    启动应用:

    adb shell am start -n <package_name>/.<activity_class_name>
    

    查看设备cpu和内存占用情况:

    adb shell top
    

    查看占用内存前6的app:

    adb shell top -m 6
    

    刷新一次内存信息,然后返回:

    adb shell top -n 1
    

    查询各进程内存使用情况:

    adb shell procrank
    

    杀死一个进程:

    adb shell kill [pid]
    

    查看进程列表:

    adb shell ps
    

    查看指定进程状态:

    adb shell ps -x [PID]
    

    查看后台services信息:

    adb shell service list
    

    查看当前内存占用:

    adb shell cat /proc/meminfo
    

    查看IO内存分区:

    adb shell cat /proc/iomem
    

    将system分区重新挂载为可读写分区:

    adb remount
    

    从本地复制文件到设备:

    adb push <local> <remote>
    

    从设备复制文件到本地:

    adb pull <remote>  <local>
    

    列出目录下的文件和文件夹,等同于dos中的dir命令:

    adb shell ls
    

    进入文件夹,等同于dos中的cd 命令:

    adb shell cd <folder>
    

    重命名文件:

    adb shell rename path/oldfilename path/newfilename
    

    删除system/avi.apk:

    adb shell rm /system/avi.apk
    

    删除文件夹及其下面所有文件:

    adb shell rm -r <folder>
    

    移动文件:

    adb shell mv path/file newpath/file
    

    设置文件权限:

    adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
    

    新建文件夹:

    adb shell mkdir path/foldelname
    

    查看文件内容:

    adb shell cat <file>
    

    查看wifi密码:

    adb shell cat /data/misc/wifi/*.conf
    

    清除log缓存:

    adb logcat -c
    

    查看bug报告:

    adb bugreport
    

    获取设备名称:

    adb shell cat /system/build.prop
    

    查看ADB帮助:

    adb help
    

    跑monkey:

    adb shell monkey -v -p your.package.name 500


    展开全文
  • adb shell 复制/移动文件时的转义字符

    千次阅读 2018-06-26 16:05:57
    问题来源 有时候,我们调用Shell命令来完成一些操作会方便点。比如复制文件调用cp 'src' 'dest'命令。但是如果源路径或者目标路径中包含一些Linux Shell 中的一些特殊字符时,...# 移动文件 mv 'src' 'dest' # 创...

    问题来源

    有时候,我们调用Shell命令来完成一些操作会方便点。比如复制文件调用cp 'src' 'dest'命令。但是如果源路径或者目标路径中包含一些Linux Shell 中的一些特殊字符时,可能命令执行的结果并不是我们想要的。此时我们就需要对这些命令进行转义。

    Shell中的文件操作

    # 复制文件
    cp 'src' 'dest'
    # 移动文件
    mv 'src' 'dest'
    # 创建文件
    touch 'fileName'
    # 创建文件夹
    mkdir 'dirName'
    

    如何处理路径特使字符

    Shell特殊字符

    • shell通配符(wildcard)
      *,? [] ,{}
    • shell元字符(特殊字符 Meta)
      | & ; ( ) < > space tab
      || & && ; ;; ( ) | <newline>
    • shell转义符
      ' , " , \

    转义特殊字符的三种方式

    • 单引号'' (硬转义)
      其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现'(单引号)。
    • 双引号"" (软转义)
      其内部只允许出现特定的shell 元字符:$用于参数代换 '用于命令代替
    • 转义 \ (转义)
      去除其后紧跟的元字符或通配符的特殊意义。

    怎么选择处理方式

    之前我不想匹配那么多特殊字符,使用的是单引号的方式来处理路径中的特殊字符,直到有用户反馈操作一直等待。检查半天发现是他的文件名中有单引号',导致Shell一直在等待下一个'输入。所以呢,单引号是不靠谱的,现在是采用第三种方式。

    所以:

    • 如果确认路径不包含特殊字符,可以不转义
    • 如果确认路径不包含单引号',可以硬转义
    • 如果都保证不来,就使用单个字符转义

    单个字符全转义的Java实现

    /**
     * 将包含特殊Shell字符的字符串 转换成Shell可执行的字符串
     *
     * @author yawei
     * zyawei@live.com
     * @date 18-6-26
     * @see <a href="https://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html">Linux Shell 特殊字符</a>
     */
    public class ShellCommandConversionUtils {
    
        private static final char[] SPECIAL_CHARS = new char[]{'*', '?', '[', ']', '{', '}', ' ', 0x0D, '=',  '>', '<', '|', '&', '(', ')', ';', '!', '\\', '\'', '"'};
    
        public static String convert(String line) {
            char[] chars = line.toCharArray();
            for (int i = 0; i < chars.length; i++) {
                char c = chars[i];
                for (int j = 0; j < SPECIAL_CHARS.length; j++) {
                    if (c == SPECIAL_CHARS[j]) {
                        chars = insert(chars, i);
                        i++;
                    }
                }
            }
            return new String(chars);
        }
    
        private static char[] insert(char[] chars, int index) {
            char[] nChars = new char[chars.length + 1];
            System.arraycopy(chars, 0, nChars, 0, index + 1);
            nChars[index] = '\\';
            System.arraycopy(chars, index, nChars, index + 1, chars.length - index);
            return nChars;
        }
    
    }
    

    优化后的转义实现

    时隔一年,再看这个代码,决定优化一下,测试得出性能提升了5倍。20191108。
    1.先查找特殊字符(二分法)
    2.在合适的位置插入转义字符

    public class ShellCommandConversionUtils {
    
        private static final char[] SPECIAL_CHARS = new char[]{'*', '?', '[', ']', '{', '}', ' ', 0x0D, '=', '>', '<', '|', '&', '(', ')', ';', '!', '\\', '\'', '"'};
    
        static {
            Arrays.sort(SPECIAL_CHARS);
        }
    
        public static String convert(String line) {
            char[] srcChars = line.toCharArray();
            int[] specialCharIndexArray = null;
            int specialCharCount = 0;
            //查找需要转义的字符
            for (int i = 0; i < srcChars.length; i++) {
                int binarySearch = Arrays.binarySearch(SPECIAL_CHARS, srcChars[i]);
                if (binarySearch >= 0) {
                    if (specialCharIndexArray == null) {
                        specialCharIndexArray = new int[srcChars.length - i];
                    }
                    specialCharIndexArray[specialCharCount++] = i;
                }
            }
            //插入转义字符
            if (specialCharCount != 0) {
                char[] destChars = new char[srcChars.length + specialCharCount];
                int srcIndex = 0;
                int cpStart = 0;
                for (int i = 0; i < specialCharCount; i++) {
                    int len = specialCharIndexArray[i] - cpStart;
                    System.arraycopy(srcChars, srcIndex, destChars, srcIndex + i, len);
                    destChars[srcIndex + i + len] = '\\';
                    cpStart = specialCharIndexArray[i];
                    srcIndex += len;
                }
                System.arraycopy(srcChars, srcIndex, destChars, srcIndex + specialCharCount, srcChars.length - srcIndex);
                return new String(destChars);
            } else {
                return line;
            }
        }
    }
    

    参考链接:Linux Shell 通配符、元字符、转义符使用实例介绍

    展开全文
  • adb pull 某一路径下的同一类文件

    千次阅读 2020-03-25 15:16:03
    adb pull 某一路径下的同一类文件 @echo off setlocal enabledelayedexpansion if %1.==. ( echo Wilcard parameter is required. goto end ) for /F "tokens=* USEBACKQ" %%F in (`adb shell ls %1`) do ( set ...

    adb pull 某一路径下的同一类文件

    @echo off
    setlocal enabledelayedexpansion
    if %1.==. (
        echo Wilcard parameter is required.
        goto end
    )
    for /F "tokens=* USEBACKQ" %%F in (`adb shell ls %1`) do (
        set text=%%F
        set mfile=!text!
        adb pull "!mfile!" %2
    )
    :end
    endlocal
    

    使用方式:
    以上代码保存成一个 bat 脚本 pull.bat,同目录下运行:pull /sdcard/*img.jpg ./localdir 即可。

    展开全文
  • adb 发送文件到Android设备和从Android手机复制文件

    万次阅读 多人点赞 2019-01-03 11:27:54
    一,adb push (PC到Android设备) 1,通过adb连接(WiFi连接或者数据线连接)Android设备 2,PC端进入命令窗口(win +R组合键后,输入cmd) 3,adb push C:\Users\Administrator\Desktop\test.jpg sdcard 注:C:\...

    一,adb push (PCAndroid设备)

    1,通过adb 连接(WiFi连接或者数据线连接)Android设备

    2,PC端进入命令窗口(win +R 组合键后,输入cmd)

    3,adb push C:\Users\Administrator\Desktop\test.jpg sdcard  

      注:C:\Users\Administrator\Desktop\test.jpg是PC端文件存放路径;sdcard  是Android设备存放路径

    二,adb pull(Android设备PC)

    // app在手机中的存放路径: /system/priv-app/DeviceTest/DeviceTest.apk  
    // app导出到的目标路径  C:\Users\Administrator\Desktop\
    adb pull /system/priv-app/DeviceTest/DeviceTest.apk C:\Users\Administrator\Desktop\
    

    注意权限,复制系统权限的目录下的文件,需要 root ,并且一般的 Android 机 root 之后并不能使用命令去复制,而需要在手机上使用类似于 RE 的文件浏览器,先对系统的文件系统进行挂载为可读写后,才能在手机上复制移动系统文件

    附:

    其他常用adb指令:

    1.adb install +包名       adb安装apk (覆盖安装是使用 -r 选项)

    2.adb uninstall +包名      adb卸载apk

    3.adb connect +设备IP      网络连接Android设备

    4.adb reboot       重启Android设备

    5.adb devices      获取连接的设备列表及设备状态

    6.adb get-state    获取设备的状态 (设备的状态有 3 钟,device:设备正常连接 , offline:连接出现异常,设备无响应 , unknown:没有连接设备)

    7.查看运行在 Android设备上的 adb 后台进程:

    执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep

    8.adb shell 命令 

    adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下

    8.1. adb shell  bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

    输出比较多,建议重定向到一个文件中

    adb shell dumpsys > d:\bugreport.log

    8.2 pm
    Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息

    8.2.1  adb shell pm list package      列出所有的应用的包名 (-s:列出系统应用  -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置  -i:列出应用包名及其安装来源)

    8.2.2  adb shell pm path+包名     列出对应包名.apk 位置

    8.2.3  adb shell pm install +apk存放路径   安装应用(目标 apk 存放于PC端,用 adb install 安装   目标 apk 存放于Android设备上,用 pm install 安装)

    8.3 am

    8.3.1 adb shell  am start +包名/.Activity (要启动的Activity)     启动一个 Activity (-s先停止目标应用,再启动  -w 等待应用完成启动  -a 启动默认浏览器打开一个网页例:adb shell am start -a android.intent.action.VIEW -d http://testerhome.com

    8.3.2  adb shell am monitor        监控 crash 与 ANR

    8.3.3  adb shell am force-stop    后跟包名,结束应用

    8.3.4  adb shell am startservice    启动一个服务

    8.3.5  adb shell am broadcast       发送一个广播

    8.4 input

    这个命令可以向 Android 设备发送按键事件

    8.4.1 adb shell input text +具体内容    发送文本内容,不能发送中文 

    8.4.2 adb shell input keyevent + 按键事件   发送按键事件 例如:adb shell input keyevent KEYCODE_HOME 模拟按下Home键

    8.4.3 adb shell input tap +触摸事件的位置 , 对屏幕发送一个触摸事件 例如:点击屏幕上坐标为 500 500 的位置(adb shell input tap 500 500)

    8.4.4 adb shell input tap , 对屏幕发送一个触摸事件

    8.4.4 adb shell input swipe   滑动事件  例如:从右往左滑动屏幕 

    adb shell input swipe 800 600 100 600

    8.5 screencap 

    截图命令

    adb shell screencap -p /sdcard/DCIM/screenTest.png

    8.6 screenrecord

    4.4以上系统版本新增的录制命令

    adb shell screenrecord /sdcard/demo.mp4

    执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard/ 下

    8.7 ime 

    列出设备上的输入法 

    adb shell ime list -s

    其他

    1.获取系统版本

    adb shell getprop ro.build.version.release

    2.获取系统api版本

    adb shell getprop ro.build.version.sdk

    3.获取手机相关制造商信息

    adb shell getprop | grep "model\|version.sdk\|manufacture
    r\|hardware\|platform\|revision\|serialno\|product.name\|brand"

    3,获取手机系统信息( CPU,厂商名称等)

    adb shell "cat /system/build.prop | grep "product""

    或者

    adb shell

    cat /system/build.prop | grep "product"

    4,获取手机设备型号

    adb -d shell getprop ro.product.model

    5,获取手机厂商名称

    adb -d shell getprop ro.product.brand

    或者分开执行

    adb shell

    getprop ro.product.brand

    6,获取手机的序列号

    有两种方式

    1,adb get-serialno
    2,adb shell getprop ro.serialno

    7,获取手机MAC地址

    adb shell cat /sys/class/net/wlan0/address

    8,获取手机内存信息

    adb shell cat /proc/meminfo

    9,获取手机存储信息

    adb shell df

    10,获取手机内部存储信息

    adb shell df /data

    11,获取Android设备屏幕分辨率

    adb shell "dumpsys window | grep mUnrestrictedScreen"

    12,连接多个设备对其中一个进行操作
    //以adb shell 为例
    adb -s 192.168.101.37:5555 shell

    13,查看运行进程

    adb shell procrank

    14,关闭或杀掉进程

    adb shell kill 366

    15,保留数据和缓存文件,重新安装,升级

    adb install -r test.apk

    16,卸载app但保留数据和缓存文件

    adb uninstall -k cnblogs.apk

    17,查看目录下的文件大小

    adb shell du -sh *

    18,查看正在运行的Services

    adb shell dumpsys activity services [<packagename>]

    19,查看正在运行的Activity

    adb shell dumpsys activity [<packagename>]

    20,clear 清除应用数据

    adb shell pm clear com.baidu

    21,cp复制文件

    adb shell 进入Android Linux命令中

    cp -f system/app/Music/Music.apk /sdcard/Music.apk

    22,删除命令

    adb shell 进入Android Linux命令中

    rm  -r  /mnt/sdcard/a.mp3 

    删除文件夹的时候需要加上-r参数 

    cd dir 
    rm *    删除dir中所有文件

    23,重启进入recovery模式

    adb reboot recovery

    24,cat查看文件

    cat  /sdcard/test.txt

    25,查看指定进程PID

    ps +  进程的包名

    26,查看进程具体的信息

    例如:1460是要查看的进程的PID
    cat /proc/1460/maps    查看进程的文件结构 
    cat /proc/1460/status   查看进程的状态

    27,findstr 和 grep过滤搜索

    1)cmd下搜索包名为com.android.launcher3的进程 
    adb shell ps|findstr /i “com.android.launcher3” 

    2)shell下面搜索 
    先使用adb shell进去,然后使用grep命令过滤 
    ps | grep “com.linux.test”

    展开全文
  • adb移动设备上app导出安装包

    千次阅读 2019-12-09 14:18:33
    前提条件:得到要导出的app包名 找到app安装路径 adb shell pm path com.demo ... 输入后会返回这样一个信息 ... 这就是app在设备上的安装路径 ...导出文件到PC端 例: 希望导出的PC端路径为: C:\Users\MBJ20...
  • 移动安全-adb使用和提取apk文件

    千次阅读 2019-02-10 11:49:05
    abd是安卓手机的一个功能强大的工具,就是类似于linux的shell,起始它功能更加强大,在shell的基础上还有对安装包的管理等功能,初步的...sudo chmod 777 file chmod用于更改文件权限 语法为:chmod abc file 其中a...
  • adb下载安装及使用

    万次阅读 多人点赞 2019-05-23 12:00:15
    adb介绍: Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 ADB是一个C/S架构的应用程序,由三部分组成: 运行在pc端的adb client: 命令行程序”...
  • adb文件管理命令操作实例讲解

    万次阅读 2017-03-15 16:53:58
    文件管理命令(FileManger) 1. adb pull <remote> [local] 从一个设备或虚拟机下载一个指定文件到电脑...指定下载路径adb pull /sdcard/Music/Honor.mp3E:\UBUNTU,经过尝试带个盘符是有问题,需要带有...
  • 玩转ADB命令(ADB命令使用大全)

    万次阅读 多人点赞 2017-10-27 10:53:39
    我相信做Android开发的朋友都用过ADB命令,但是也只是限于安装应用push文件和设备重启相关,根深的也不知道了,其实我们完全可以了解多一点,有一些不常用的场景我们至少应该知道它可以做到,比如,我们知道adb ...
  • 使用adb工具进行文件推送

    千次阅读 2014-05-12 17:01:29
    安卓教程:使用adb工具进行文件推送 2013-07-11 发布于 教程 热度:5159 我们在安卓设备与电脑进行文件传输时,大都是使用USB大容量存储或助手类程序,其实adb工具也可简单实现这个功能,特别是对于...
  • 语法:adb push local remote 其中local指电脑上的文件路径,remote指所传文件到手机上的路径 ???? # 将电脑桌面上的test.txt文件传输至手机的sdcard根目录下 adb push /Users/jiangxin/Desktop/test.txt /sdcard ...
  • 1. 连接手机 adbdevices 2. 进入adb命令环境 ...Push从电脑上推到手机上:push 电脑路径(d:\路径\) 手机路径(/路径/路径) Pull从手机上拉到电脑上:pull手机路径 电脑路径 注:不用ad...
  • adb命令管理Linux 文件和目录

    千次阅读 2018-08-27 15:13:02
    Linux的目录结构为树状结构,最顶级的目录为根...路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法 处理目录的常用命令 ls: 列出目...
  • 无法通过adb文件push到system的问题

    万次阅读 2017-09-26 10:16:02
    本文整理自文末参考地址,Android adb调试时,经常会遇到权限问题(failed for /system/lib/libmm-test.so, Read-only file system),即使Root设备,在向/system等系统文件夹操作时(比如push、rm等),依然可能会...
  • adb 常用指令

    2015-04-05 22:58:21
    adb 指令 adb devices  adb -s serialNumber shell  adb shell 进入手机管理 adb install apkpath -r -f -...adb push 电脑端文件路径 手机端文件路径 adb pull 手机端文件路径 电脑端文件路径 adb reboot 重启
  • adb找不到sd卡的存储路径

    万次阅读 2017-07-24 22:19:24
    当我们使用adb shell 进入android命令行去查找sd卡(内部存储)的路径时,有可能找不到sdcard这个目录,然后在/storage/emulated/目录下也找不到。 adb shell ls -la /storage/emulated/0 /storage/emulated/0: No ...
  • adb

    2018-01-23 18:25:00
    adb的全称为Android Debug Bridge 调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、查看...adb是一个可执行文件,在SDK文件目录platform-tools下。adb的操作是通过cmd命令...
  • 通过adb shell在移动终端上抓包分析

    万次阅读 2016-04-06 17:16:23
    adb的全称是Android Debug Bridge,就是起到调试桥的作用 借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。 其实简单而言,adb就是...
  • adb常用命令

    2018-10-12 14:06:40
    adb 指令 adb devices  adb -s serialNumber shell  adb shell 进入手机管理 ...adb push 电脑端文件路径 手机端文件路径 adb pull 手机端文件路径 电脑端文件路径 adb reboot 重启手机 adb r...
  • adb调试工具 学习目标: 1.能够了解adb的工作原理 2.能够应用常用的adb命令 一、adb的工作原理 1.1 adb的概念 ADB 全名 Android Debug Bridge,是一个调试工具 开发安卓应用的程序员必须要掌握 测试工程师在做安卓...
  • 第三步:将解压出来的三个文件adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll)全部拷贝到 C:\windows\system32\目录下;或者 将adb解压后的目录添加到环节变量的PATH变量下; 添加到环境变量的方
  • ADB和Linux命令大全

    2021-04-22 14:43:41
    adb pull 手机端文件路径 电脑端文件路径 chmod 777 指定要给权限的文件或文件夹 cd 进入目录 cat 查看文件内容 id 获取当前用户信息 ps 查看当前系统所有进程 kill 杀进程 kill 进程id ls 列出当前文件夹下的文件....
  • 手机常用的一些adb

    2021-01-16 22:29:19
    adb pull data/aee_exp/E:XX(文件路径终端) 导出aee文件 adb pull data/anr/E:XX (文件路径终端) 导出anr文件 adb version 查adb版本号 adb kill-server 关闭adb.exe进程 adb push 将PC端指定目录文件拷贝到...
  • Android 属性文件default.prop与adb

    千次阅读 2017-06-06 15:01:37
    0x01 背景在平时使用时因为adb 默认的用户不是root所有在移动文件时会出现permission denyC:\Users\Jay-Tang>adb shell * daemon not running. starting it now on port 5037 * * daemon started successfully * ...
  • 安卓ADB补充

    2021-06-19 14:07:06
    此篇是最强安卓笔记的补充,主要来自《安卓群英传》的ADB部分,介绍...移动文件到安卓系统中 adb pull <安卓位置> <local> 从安卓获取指定文件 adb shell input keyevent <keyCode> 模拟按键事件 ad

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,091
精华内容 3,636
关键字:

adb移动文件路径