精华内容
下载资源
问答
  • 准备工作:确信 \android-sdk-windows\tools\下有 adb.exe AdbWinApi.dll AdbWinUsbApi.dll 三个文件,如果没有从\android-sdk-windows\platform-tools\ 下面拷贝到tools下(android sdk 3.0 以上版本一些工具默认不...

    准备工作:

    确信 \android-sdk-windows\tools\下有 adb.exe     AdbWinApi.dll     AdbWinUsbApi.dll 三个文件,如果没有从\android-sdk-windows\platform-tools\ 下面拷贝到tools下(android sdk 3.0 以上版本一些工具默认不放在tools下,作为可选配置放在platform-tools下)

    开始:

    安装apk到手机:

    adb install c:\HA_drocap2_JOY3G.apk

    0818b9ca8b590ca3270a3433284dd417.png

    启动所安装的程序,手机要是root权限并且进入到data\app目录下:

    # am start -n cn.vsp/cn.vsp.StartActivty

    0818b9ca8b590ca3270a3433284dd417.png

    查看相应的日志:

    adb logcat -s welcome:i

    0818b9ca8b590ca3270a3433284dd417.png

    【操作命令】

    1. 查看设备

    adb devices

    这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

    2.安装软件

    adb install

    adb install :这个命令将指定的apk文件安装到设备上

    3. 卸载软件

    adb uninstall

    adb uninstall -k

    如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

    4. 进入设备或模拟器的shell:

    adb shell

    通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

    adb shell [command]

    如:adb shell dmesg会打印出内核的调试信息。

    5. 发布端口

    可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

    adb forward tcp:5555 tcp:8000

    6. 从电脑上发送文件到设备

    adb push

    用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

    7. 从设备上下载文件到电脑

    adb pull

    用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

    8、查看bug报告

    adb bugreport

    9、记录无线通讯日志

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

    adb shell

    logcat -b radio

    10、获取设备的ID和序列号

    adb get-product

    adb get-serialno

    adb shell

    sqlite3

    展开全文
  • android 执行Shell命令

    2021-12-04 11:18:54
    Android中执行shell命令,测试了多个,只有这个能执行成功:测试环境,android系统10。 /** * 执行 adb 命令 * * @param cmd 命令 * @return */ public static StringBuffer shellExec(String cmd) { ...

     在Android中执行shell命令,测试了多个,只有这个能执行成功:测试环境,android系统10。

      /**
         * 执行 adb 命令
         *
         * @param cmd 命令
         * @return
         */
        public static StringBuffer shellExec(String cmd) {
            Runtime mRuntime = Runtime.getRuntime(); //执行命令的方法
            try {
                //Process中封装了返回的结果和执行错误的结果
                Process mProcess = mRuntime.exec(cmd); //加入参数
                //使用BufferReader缓冲各个字符,实现高效读取
                //InputStreamReader将执行命令后得到的字节流数据转化为字符流
                //mProcess.getInputStream()获取命令执行后的的字节流结果
                BufferedReader mReader = new BufferedReader(new InputStreamReader(mProcess.getInputStream()));
                //实例化一个字符缓冲区
                StringBuffer mRespBuff = new StringBuffer();
                //实例化并初始化一个大小为1024的字符缓冲区,char类型
                char[] buff = new char[1024];
                int ch = 0;
                //read()方法读取内容到buff缓冲区中,大小为buff的大小,返回一个整型值,即内容的长度
                //如果长度不为null
                while ((ch = mReader.read(buff)) != -1) {
                    //就将缓冲区buff的内容填进字符缓冲区
                    mRespBuff.append(buff, 0, ch);
                }
                //结束缓冲
                mReader.close();
                Log.i("shell", "shellExec: " + mRespBuff);
                //弹出结果
    //            Log.i("shell", "执行命令: " + cmd + "执行成功");
                return mRespBuff;
    
            } catch (IOException e) {
                // 异常处理
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

    调用实例:

     new Thread(() -> {
          
      shellExec("sh /data/audio-i2s-rx-tx.sh -f &");
    
            }).start();

                                                                       -END

    展开全文
  • Android执行shell命令封装Android可直接调用Runtime执行shell命令来实现一些功能,在此进行了一个封装。将需要执行的命令添加到一个数组,并判断是否已root,还有一个回调接口,执行完后把执行结果封装到一个实体类...

    Android执行shell命令封装

    Android可直接调用Runtime执行shell命令来实现一些功能,在此进行了一个封装。

    将需要执行的命令添加到一个数组,并判断是否已root,还有一个回调接口,执行完后把执行结果封装到一个实体类。还有几个重载的执行方法,主要是接收单个字符串的命令,还有自动判断root的。

    public static void execCommand(String[] commands, boolean isRoot,

    ShellCommandListener listener) throws IOException,

    InterruptedException, TimeoutException {

    int exitCode = -1;

    CommandResult result = null;

    if (commands == null || commands.length == 0) {

    result = new CommandResult(exitCode, null, null);

    listener.onCommandFinished(result);

    }

    Process process = null;

    BufferedReader successReader = null;

    BufferedReader errorReader = null;

    StringBuilder successMsg = null;

    StringBuilder errorMsg = null;

    DataOutputStream os = null;

    process = Runtime.getRuntime().exec(isRoot ? "su" : "sh");

    os = new DataOutputStream(process.getOutputStream());

    for (String command : commands) {

    if (command == null) {

    continue;

    }

    // donnot use os.writeBytes(commmand), avoid chinese charset

    // error

    os.write(command.getBytes());

    os.writeBytes("\n");

    os.flush();

    }

    os.writeBytes("exit\n");

    os.flush();

    exitCode = process.waitFor();

    successMsg = new StringBuilder();

    errorMsg = new StringBuilder();

    successReader = new BufferedReader(new InputStreamReader(

    process.getInputStream()));

    errorReader = new BufferedReader(new InputStreamReader(

    process.getErrorStream()));

    String s = null;

    while ((s = successReader.readLine()) != null) {

    successMsg.append(s + "\n");

    }

    while ((s = errorReader.readLine()) != null) {

    errorMsg.append(s + "\n");

    }

    if (exitCode == -257) {

    throw new TimeoutException();

    }

    try {

    if (os != null) {

    os.close();

    }

    if (successReader != null) {

    successReader.close();

    }

    if (errorReader != null) {

    errorReader.close();

    }

    } catch (IOException e) {

    e.printStackTrace();

    }

    if (process != null) {

    process.destroy();

    }

    result = new CommandResult(exitCode, successMsg == null ? null

    : successMsg.toString(), errorMsg == null ? null

    : errorMsg.toString());

    listener.onCommandFinished(result);

    }

    /**

    * result of command,

    */

    public static class CommandResult {

    /** result of command **/

    public int exitCode;

    /** success message of command result **/

    public String successMsg;

    /** error message of command result **/

    public String errorMsg;

    public CommandResult(int result) {

    this.exitCode = result;

    }

    public CommandResult(int result, String successMsg, String errorMsg) {

    this.exitCode = result;

    this.successMsg = successMsg;

    this.errorMsg = errorMsg;

    }

    @Override

    public String toString() {

    return "exitCode=" + exitCode + "; successMsg=" + successMsg

    + "; errorMsg=" + errorMsg;

    }

    }

    public interface ShellCommandListener {

    public void onCommandFinished(CommandResult result);

    }

    展开全文
  • 1. 当需要跳转到某个路径下执行操作就可以使用cd命令,下面表示将当前的路径跳转到C:\ZhouXi下C:\shellShow>cd C:\ZhouXi ---------//cd就是change directory的缩写C:\ZhouXi>2. 当需要调试手机,但是不确定...

    2020.8.21 第一次编辑。。。未完待续。。。

    1. 当需要跳转到某个路径下执行操作就可以使用cd命令,下面表示将当前的路径跳转到C:\ZhouXi下

    C:\shellShow>cd C:\ZhouXi ---------//cd就是change directory的缩写

    C:\ZhouXi>

    2. 当需要调试手机,但是不确定手机是否连接上的时候可以使用adb devices查看当前连接的设备

    C:\ZhouXi>adb devices

    List of devices attached

    FRU6R20426000630 device ---------//连接的平板

    emulator-5554 device ---------//android studio打开的虚拟机

    3. apk调试过程中需要查看日志,可以使用adb shell logcat来输出日志

    C:\ZhouXi>adb logcat -c -------//清除日志缓存,c代表clear

    C:\ZhouXi>adb logcat >C:\ZhouXi\logcat.txt ------//打印日志到C:\ZhouXi\logcat.txt,如果文件不存在则新建

    ^C ------------------//日志打印需要使用ctrl+c来结束,否则一直输出日志

    C:\ZhouXi>adb logcat -c | adb logcat >C:\ZhouXi\logcat.txt ----//日志缓存清除和日志打印可以使用|合在一起

    ^C -----//同上

    4. 当需要将电脑上的apk安装到手机上,可以使用adb install来安装apk

    C:\ZhouXi>adb install app-debug.apk ------//尝试安装app-debug.apk

    Performing Streamed Install

    adb: failed to install app-debug.apk: Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI] --//由于是测试apk,安装失败

    C:\ZhouXi>adb install -t app-debug.apk ------//加上-t表示允许test的apk安装

    Performing Streamed Install

    Success

    5. 当想传输文件到手机上,或者从手机拉取文件到电脑,可以使用adb push和adb pull

    C:\ZhouXi>adb push app-debug.apk /data/ ------//两者都需要手机root权限

    C:\ZhouXi>adb pull /data/app-debug.apk

    本文地址:https://blog.csdn.net/weixin_48968045/article/details/108137915

    展开全文
  • 使用 adb shell 和 pm 安装 apk 包到安卓手机安装Android Studio 之后,adb 一般是在 /Users/exchen/Library/Android/sdk/platform-tools 目录设置好环境变量或者切换到 adb 所在的目录,执行 adb devices 查看本...
  • 一、方法/***执行一个shell命令,并返回字符串值**@paramcmd*命令名称&参数组成的数组(例如:{"/system/bin/cat","/proc/version"})*@paramworkdirectory*命令执行路径(例如:"system/bin/")*@return执行结果...
  • 调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用。通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具。adb通过监听Socket TCP 5554等端口让...
  • android执行shell命令

    2020-12-20 08:35:14
     xs) { // Note: on Android API levels prior to 19 Socket does not implement Closeable for (Object x : xs) { if (x != null) { try { Log.d("closing: "+x); if (x instanceof ...
  • Android shell 命令总结

    2020-12-20 08:35:11
    Package Manage(PM)pm list packages [FILTER] 查看已安装的应用包-f 显示关联的apk文件-s 只在系统应用中搜索Filter-3 只在第三方应用中搜索Filter-d 只在disabled package搜索Filter-e 只在enabled package...
  • tinycap通过adb shell命令直接抓取录音文档,现在转换为通过代码方式执行// exec命令String command = "tinycap /sdcard/1111.wav -D 0 -d 0 -r 48000 -c 2 -b 16";try {Process process = Runtime.getRu...
  • 这几天,在写Android.mk时,有时总想打印...在Android的编译脚本中有很多示例,比如在 build/core/main.mk 文件中:ifeq ($(BUILD_OS),linux)build_arch := $(shell uname -m)ifneq (64,$(findstring 64,$(build_arc...
  • 安卓调用shell命令

    2021-02-20 15:14:21
    一,使用的api Runtime.getRuntime().exec("<commond>"); 二,提升权限 Runtime.getRuntime().exec("su");...Process su= Runtime.getRuntime().exec("su");...OutputStream outputStream = su.getOutputStream()...
  • 新建test.txt,写入: i=0; while [ $(($i)) -le 5 ]; do i=$(($i + 1)); echo $i; done; 执行这个文件 adb shell < test.txt
  • Androidshell命令语句

    2020-12-20 08:35:25
    最近学习了Android中碰到了shell命令,故收集终结了一下Ccat zdd 浏览文件zdd的内容cat zdd1 zdd2 浏览多个文件的内容cat -n zdd浏览文件zdd的内容并显示行号cd 回到起始目录,也即刚登陆到系统的目录,cd后面无参数...
  • 要获得commmand的完整路径,请在您的终端(android)类型下* $ ls/ system / bin *try {// Executes the command.Process process = Runtime.getRuntime().exec("/system/bin/ls /sdcard");// ...
  • 背景:做一个应用,需求是获取root权限后可以停用/启用某些应用,包括系统应用!停用的应用将不在设置-->应用中展示,大部分系统自带的桌面应该也...所以考虑使用shell命令执行!1.获取root权限:String cmd="chm...
  • 执行Shell命令Adb提供了shell来在模拟器或手机上运行各种各样的命令,这些命令的二进制形式存在于这个路径中:/system/bin/... 无论是否进入adb远程shell,都可以使用 shell 命令来执行。在未进入远程shell的情况下...
  • android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令。那么在androidshell中是否就不能执行java程序了呢。答案是否定的。我们可以通过app_process来执行...
  • 网上有用方法:adb shell中的kill命令后面跟的参数是pid,因此先ps所有的应用程序。缺点是,PS显示很长,找到你的应用比较麻烦。另一种方法是使用包名,比较简单:C:\Android\adt-bundle-windows-x86-20130729\sdk\...
  • 如何使用adb在Android手机上执行一些自动化任务?我需要找到可以从命令行发出的命令(理想情况下,使用.bat文件),这些...网络设置菜单,然后使用输入密钥事件单击飞行模式:adb shell am start -a android.settings....
  • 我们先来看看 Android 的概念:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑...所有以“adb shell”开头的命令,都可以先执行adb shell命令进入目标设备的Linux ...
  • 适用场景一台电脑连接多台Android手机效果单台手机直接连接多台手机,选择输入,如下:#/usr/bin/env python/# -*- coding:utf-8 -*__author__ = "wdl"__version__ = "v1.0.1"import osimport sysimport timedef str...
  • 简介工作中遇到一个“变态”的需求,在android系统中不通过java层控制wifi的连接(主要是修改ap的essid和password),而是需要通过native层实现对wifi的控制。How接到这个需求时,第一个想法是如何找到Android native...
  • 话不多说,直接贴工具类代码(我只是代码的搬运工,是别人写的,然后我整合到了一起)。 import java.io.BufferedReader;...import android.content.Context; import android.util.Log; import and
  • 工具类: public static void adb(Context context, String ... if (adb.contains("adb shell")) { adb = adb.replace("adb shell", ""); } try { Process process = Runtime.getRuntime().exec("su"); DataOutpu
  • ============问题描述============Android怎么调用shell命令来修改系统时间啊,用代码的============解决方案1============Processprocess=Runtime.getRuntime().exec("su");Stringdatetime="20131023.112800";//测试...
  • 首先,我想在编译所有.jar文件之后构建,以便在不使用Eclipse的情况下为Android应用程序创建.apk文件。有没有人知道如何在不使用Eclipse&amp; 只能通过使用命令行。要添加答案,请确保将ant所在的目录添加到路径中...
  • Android Shell命令dumpsys

    2021-06-09 13:23:54
    dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态。直接执行adb shell dumpsys会显示以下所有信息。SurfaceFlinger, accessibility, account, activity, alarm, appwidget, audio, backup,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,789
精华内容 32,715
关键字:

安卓shell命令安装软件命令