精华内容
下载资源
问答
  • 本篇文章是对Android执行shell命令进行了详细的分析介绍,需要的朋友参考下
  • android执行shell命令

    2014-03-06 10:49:12
    1. 这只是一个例子 2. 在android执行一个shell命令 3. 在android平台上运行过没有问题。
  • android执行shell命令

    千次阅读 2019-05-05 09:22:45
    android执行shell命令
                   

    http://www.cnblogs.com/zhengwenwei/archive/2011/08/16/2141642.html

    android应用需要调用shell命令的时候,网上找到的资料是:

    复制代码
            String cmd = String.format("echo %s > %s\n", arg, mSwitchUsbFileTextEdit.getText().toString());
    try {
                Process exeEcho = Runtime.getRuntime().exec("su");
                exeEcho.getOutputStream().write(cmd.getBytes());
                exeEcho.getOutputStream().flush();
            } catch (IOException e) {
                showMessage("Excute exception: " + e.getMessage());
            }
    复制代码

      注意,之所以需要执行su命令,而不是直接执行echo命令,是因为那样会跑出IOException: Working Directory: null    Environment: null。但是如果是在装有SuperRoot应用的机器上,su命令可能被拒绝,而且执行普通的命令应该不需要使用su命令才对。试验了一下,Process exeEcho = Runtime.getRuntime().exec("su");这一行改成Process exeEcho = Runtime.getRuntime().exec("sh");也可以执行。查了一下资料:

    In many ways, each Android application lives in its own world:

    • By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications.
    • Each process has its own Java virtual machine (VM), so application code runs in isolation from the code of all other applications.
    • By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only that user, only to the application itself — although there are ways to export them to other applications as well.

    It's possible to arrange for two applications to share the same user ID, in which case they will be able to see each other's files. To conserve system resources, applications with the same ID can also arrange to run in the same Linux process, sharing the same VM.

    是否因为这个应用的用户是一个"不完全"的用户,所以需要切换到shell用户才能执行命令?


               
    展开全文
  • Android执行shell命令

    万次阅读 2012-06-21 11:16:56
    /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"system/bin/...
    一、方法
     
    1. /** 
    2. * 执行一个shell命令,并返回字符串值 
    3. * 
    4. * @param cmd 
    5. * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) 
    6. * @param workdirectory 
    7. * 命令执行路径(例如:"system/bin/") 
    8. * @return 执行结果组成的字符串 
    9. * @throws IOException 
    10. */ 
    11. public static synchronized String run(String[] cmd, String workdirectory) 
    12.         throws IOException { 
    13.     StringBuffer result = new StringBuffer(); 
    14.     try { 
    15.         // 创建操作系统进程(也可以由Runtime.exec()启动) 
    16.         // Runtime runtime = Runtime.getRuntime(); 
    17.         // Process proc = runtime.exec(cmd); 
    18.         // InputStream inputstream = proc.getInputStream(); 
    19.         ProcessBuilder builder = new ProcessBuilder(cmd); 
    20.  
    21.         InputStream in = null
    22.         // 设置一个路径(绝对路径了就不一定需要) 
    23.         if (workdirectory != null) { 
    24.             // 设置工作目录(同上) 
    25.             builder.directory(new File(workdirectory)); 
    26.             // 合并标准错误和标准输出 
    27.             builder.redirectErrorStream(true); 
    28.             // 启动一个新进程 
    29.             Process process = builder.start(); 
    30.  
    31.             // 读取进程标准输出流 
    32.             in = process.getInputStream(); 
    33.             byte[] re = new byte[1024]; 
    34.             while (in.read(re) != -1) { 
    35.                 result = result.append(new String(re)); 
    36.             } 
    37.         } 
    38.         // 关闭输入流 
    39.         if (in != null) { 
    40.             in.close(); 
    41.         } 
    42.     } catch (Exception ex) { 
    43.         ex.printStackTrace(); 
    44.     } 
    45.     return result.toString(); 

    二、用途
             执行Linux下的top、ps等命令,这些命令你也通过adb可以执行查看效果。
              1)top命令如下:
     
    1. adb shell 
    2. top -h 
    3. top -h 
    4. Usage: top [-m max_procs] [-n iterations] [-d delay] [-s sort_column] [-t] [-h] 
    5.   -m num  Maximum number of processes to display. // 最多显示多少个进程 
    6.   -n num  Updates to show before exiting. // 刷新次数 
    7.   -d num  Seconds to wait between updates. // 刷新间隔时间(默认5秒) 
    8.   -s col  Column to sort by <cpu,vss,rss,thr> // 按哪列排序 
    9.   -t      Show threads instead of processes. // 显示线程信息而不是进程 
    10.   -h      Display this help screen. // 显示帮助文档 
    11. top -n 1 
    12. top -n 1 
     
             就不把执行效果放上来了,总之结果表述如下:
     
    1. User 35%, System 13%, IOW 0%, IRQ 0% // CPU占用率 
    2. User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 // CPU使用情况 
    3.  
    4. PID CPU% S #THR VSS RSS PCY UID Name // 进程属性 
    5. xx  xx% x   xx  xx  xx  xx  xx   xx 
    6.  
    7. CPU占用率: 
    8. User    用户进程 
    9. System  系统进程 
    10. IOW IO等待时间 
    11. IRQ 硬中断时间 
    12.  
    13. CPU使用情况(指一个最小时间片内所占时间,单位jiffies。或者指所占进程数): 
    14. User    处于用户态的运行时间,不包含优先值为负进程 
    15. Nice    优先值为负的进程所占用的CPU时间 
    16. Sys 处于核心态的运行时间 
    17. Idle    除IO等待时间以外的其它等待时间 
    18. IOW IO等待时间 
    19. IRQ 硬中断时间 
    20. SIRQ    软中断时间 
    21.  
    22. 进程属性: 
    23. PID 进程在系统中的ID 
    24. CPU%    当前瞬时所以使用CPU占用率 
    25. S   进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 
    26. #THR    程序当前所用的线程数 
    27. VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) 
    28. RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存) 
    29. PCY OOXX,不知道什么东东 
    30. UID 运行当前进程的用户id 
    31. Name    程序名称android.process.media 
    32.  
    33. // ps:内存占用大小有如下规律:VSS >= RSS >= PSS >= USS 
    34. // PSS  Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) 
    35. // USS  Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 

             在附件Android系统->android top.txt文件内,自个总结的。

              2)执行代码
      
    1. // top命令 
    2. public static final String[] TOP = { "/system/bin/top""-n""1" }; 
    3.  
    4. // 现在执行top -n 1,我们只需要第二行(用第二行求得CPU占用率,精确数据) 
    5. // 第一行:User 35%, System 13%, IOW 0%, IRQ 0% // CPU占用率 
    6. // 第二行:User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 
    7. // // CPU使用情况 
    8. public static synchronized String run(String[] cmd) { 
    9.     String line = ""
    10.     InputStream is = null
    11.     try { 
    12.         Runtime runtime = Runtime.getRuntime(); 
    13.         Process proc = runtime.exec(cmd); 
    14.         is = proc.getInputStream(); 
    15.  
    16.         // 换成BufferedReader 
    17.         BufferedReader buf = new BufferedReader(new InputStreamReader(is)); 
    18.         do { 
    19.             line = buf.readLine(); 
    20.             // 前面有几个空行 
    21.             if (line.startsWith("User")) { 
    22.                 // 读到第一行时,我们再读取下一行 
    23.                 line = buf.readLine(); 
    24.                 break
    25.             } 
    26.         } while (true); 
    27.  
    28.         if (is != null) { 
    29.             buf.close(); 
    30.             is.close(); 
    31.         } 
    32.     } catch (IOException e) { 
    33.         e.printStackTrace(); 
    34.     } 
    35.     return line; 
    36.  
    37. // 获取指定应用的top命令获取的信息 
    38. // PID CPU% S #THR VSS RSS PCY UID Name // 进程属性 
    39. // 如果当前应用不在运行则返回null 
    40. public static synchronized String run(String[] cmd, String pkgName) { 
    41.     String line = null
    42.     InputStream is = null
    43.     try { 
    44.         Runtime runtime = Runtime.getRuntime(); 
    45.         Process proc = runtime.exec(cmd); 
    46.         is = proc.getInputStream(); 
    47.  
    48.         // 换成BufferedReader 
    49.         BufferedReader buf = new BufferedReader(new InputStreamReader(is)); 
    50.         do { 
    51.             line = buf.readLine(); 
    52.             // 读取到相应pkgName跳出循环(或者未找到) 
    53.             if (null == line || line.endsWith(pkgName)) { 
    54.                 break
    55.             } 
    56.         } while (true); 
    57.  
    58.         if (is != null) { 
    59.             buf.close(); 
    60.             is.close(); 
    61.         } 
    62.     } catch (IOException e) { 
    63.         e.printStackTrace(); 
    64.     } 
    65.     return line; 
    本文出自 “ -_--___---_- ” 博客,请务必保留此出处 http://vaero.blog.51cto.com/4350852/778139
    展开全文
  • android执行shell命令,top 命令解析

    千次阅读 2016-03-01 14:17:16
    Android执行shell命令 一、方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory 

    转自:http://vaero.blog.51cto.com/4350852/778139

    Android执行shell命令

    一、方法
     
    1. /** 
    2. * 执行一个shell命令,并返回字符串值 
    3. * 
    4. * @param cmd 
    5. * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) 
    6. * @param workdirectory 
    7. * 命令执行路径(例如:"system/bin/") 
    8. * @return 执行结果组成的字符串 
    9. * @throws IOException 
    10. */ 
    11. public static synchronized String run(String[] cmd, String workdirectory) 
    12.         throws IOException { 
    13.     StringBuffer result = new StringBuffer(); 
    14.     try { 
    15.         // 创建操作系统进程(也可以由Runtime.exec()启动) 
    16.         // Runtime runtime = Runtime.getRuntime(); 
    17.         // Process proc = runtime.exec(cmd); 
    18.         // InputStream inputstream = proc.getInputStream(); 
    19.         ProcessBuilder builder = new ProcessBuilder(cmd); 
    20.  
    21.         InputStream in = null
    22.         // 设置一个路径(绝对路径了就不一定需要) 
    23.         if (workdirectory != null) { 
    24.             // 设置工作目录(同上) 
    25.             builder.directory(new File(workdirectory)); 
    26.             // 合并标准错误和标准输出 
    27.             builder.redirectErrorStream(true); 
    28.             // 启动一个新进程 
    29.             Process process = builder.start(); 
    30.  
    31.             // 读取进程标准输出流 
    32.             in = process.getInputStream(); 
    33.             byte[] re = new byte[1024]; 
    34.             while (in.read(re) != -1) { 
    35.                 result = result.append(new String(re)); 
    36.             } 
    37.         } 
    38.         // 关闭输入流 
    39.         if (in != null) { 
    40.             in.close(); 
    41.         } 
    42.     } catch (Exception ex) { 
    43.         ex.printStackTrace(); 
    44.     } 
    45.     return result.toString(); 
    二、用途
             执行Linux下的top、ps等命令,这些命令你也通过adb可以执行查看效果。
              1)top命令如下:
     
    1. adb shell 
    2. top -h 
    3. top -h 
    4. Usage: top [-m max_procs] [-n iterations] [-d delay] [-s sort_column] [-t] [-h] 
    5.   -m num  Maximum number of processes to display. // 最多显示多少个进程 
    6.   -n num  Updates to show before exiting. // 刷新次数 
    7.   -d num  Seconds to wait between updates. // 刷新间隔时间(默认5秒) 
    8.   -s col  Column to sort by <cpu,vss,rss,thr> // 按哪列排序 
    9.   -t      Show threads instead of processes. // 显示线程信息而不是进程 
    10.   -h      Display this help screen. // 显示帮助文档 
    11. top -n 1 
    12. top -n 1 
     
             就不把执行效果放上来了,总之结果表述如下:
     
    1. User 35%, System 13%, IOW 0%, IRQ 0% // CPU占用率 
    2. User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 // CPU使用情况 
    3.  
    4. PID CPU% S #THR VSS RSS PCY UID Name // 进程属性 
    5. xx  xx% x   xx  xx  xx  xx  xx   xx 
    6.  
    7. CPU占用率: 
    8. User    用户进程 
    9. System  系统进程 
    10. IOW IO等待时间 
    11. IRQ 硬中断时间 
    12.  
    13. CPU使用情况(指一个最小时间片内所占时间,单位jiffies。或者指所占进程数): 
    14. User    处于用户态的运行时间,不包含优先值为负进程 
    15. Nice    优先值为负的进程所占用的CPU时间 
    16. Sys 处于核心态的运行时间 
    17. Idle    除IO等待时间以外的其它等待时间 
    18. IOW IO等待时间 
    19. IRQ 硬中断时间 
    20. SIRQ    软中断时间 
    21.  
    22. 进程属性: 
    23. PID 进程在系统中的ID 
    24. CPU%    当前瞬时所以使用CPU占用率 
    25. S   进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 
    26. #THR    程序当前所用的线程数 
    27. VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) 
    28. RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存) 
    29. PCY OOXX,不知道什么东东 
    30. UID 运行当前进程的用户id 
    31. Name    程序名称android.process.media 
    32.  
    33. // ps:内存占用大小有如下规律:VSS >= RSS >= PSS >= USS 
    34. // PSS  Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) 
    35. // USS  Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 

             在附件Android系统->android top.txt文件内,自个总结的。

              2)执行代码
      
    1. // top命令 
    2. public static final String[] TOP = { "/system/bin/top""-n""1" }; 
    3.  
    4. // 现在执行top -n 1,我们只需要第二行(用第二行求得CPU占用率,精确数据) 
    5. // 第一行:User 35%, System 13%, IOW 0%, IRQ 0% // CPU占用率 
    6. // 第二行:User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 
    7. // // CPU使用情况 
    8. public static synchronized String run(String[] cmd) { 
    9.     String line = ""
    10.     InputStream is = null
    11.     try { 
    12.         Runtime runtime = Runtime.getRuntime(); 
    13.         Process proc = runtime.exec(cmd); 
    14.         is = proc.getInputStream(); 
    15.  
    16.         // 换成BufferedReader 
    17.         BufferedReader buf = new BufferedReader(new InputStreamReader(is)); 
    18.         do { 
    19.             line = buf.readLine(); 
    20.             // 前面有几个空行 
    21.             if (line.startsWith("User")) { 
    22.                 // 读到第一行时,我们再读取下一行 
    23.                 line = buf.readLine(); 
    24.                 break
    25.             } 
    26.         } while (true); 
    27.  
    28.         if (is != null) { 
    29.             buf.close(); 
    30.             is.close(); 
    31.         } 
    32.     } catch (IOException e) { 
    33.         e.printStackTrace(); 
    34.     } 
    35.     return line; 
    36.  
    37. // 获取指定应用的top命令获取的信息 
    38. // PID CPU% S #THR VSS RSS PCY UID Name // 进程属性 
    39. // 如果当前应用不在运行则返回null 
    40. public static synchronized String run(String[] cmd, String pkgName) { 
    41.     String line = null
    42.     InputStream is = null
    43.     try { 
    44.         Runtime runtime = Runtime.getRuntime(); 
    45.         Process proc = runtime.exec(cmd); 
    46.         is = proc.getInputStream(); 
    47.  
    48.         // 换成BufferedReader 
    49.         BufferedReader buf = new BufferedReader(new InputStreamReader(is)); 
    50.         do { 
    51.             line = buf.readLine(); 
    52.             // 读取到相应pkgName跳出循环(或者未找到) 
    53.             if (null == line || line.endsWith(pkgName)) { 
    54.                 break
    55.             } 
    56.         } while (true); 
    57.  
    58.         if (is != null) { 
    59.             buf.close(); 
    60.             is.close(); 
    61.         } 
    62.     } catch (IOException e) { 
    63.         e.printStackTrace(); 
    64.     } 
    65.     return line; 
    66. }
    展开全文
  • android 执行shell命令方法 可执行su、sh命令 只需传入需要执行的命令即可进行执行 如:执行安装apk包命令: new ShellCommand().sh.runWaitFor("pm install -r " + /.../apkName.apk) import java.io....
     
    

    android  执行shell命令方法

    可执行su、sh命令   只需传入需要执行的命令即可进行执行

    如:执行安装apk包命令:


    new ShellCommand().sh.runWaitFor("pm install -r " + /.../apkName.apk)


    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.InputStream;


    import android.util.Log;


    public class ShellCommand {


    private Boolean can_su;
    public SH sh = new SH("sh");
    public SH su = new SH("su");


    public boolean canSU(){
    return canSU(false);
    }


    public boolean canSU(boolean paramBoolean){
    if ((this.can_su == null) || (paramBoolean)){
    CommandResult localCommandResult = this.su.runWaitFor("id");
    StringBuilder localStringBuilder = new StringBuilder();
    if (localCommandResult.stdout != null){
    localStringBuilder.append(localCommandResult.stdout).append(" ; ");
    }
    if (localCommandResult.stderr != null){
    localStringBuilder.append(localCommandResult.stderr);
    }
    Log.v("ShellCommand.java", "canSU() su[" + localCommandResult.exit_value + "]: " + localStringBuilder);
    this.can_su = Boolean.valueOf(localCommandResult.success());
    }
    return this.can_su.booleanValue();
    }


    public SH suOrSH(){
    SH localSH;
    if(!canSU()){
    localSH = this.sh;
    }else{
    localSH = this.su;
    }
    return localSH;
    }


    public class CommandResult{
    public final Integer exit_value;
    public final String stderr;
    public final String stdout;




    public CommandResult(Integer paramString1, String paramString2, String arg4){
    this.exit_value = paramString1;
    this.stdout = paramString2;
    this.stderr = arg4;
    }


    public boolean success(){
    int i = 1;
    if ((this.exit_value == null) || (this.exit_value.intValue() != 0)){
    i = 0;
    }
    return i==1?true:false;
    }
    }


    public class SH{
    private String SHELL = "sh";


    public SH(String arg2){
    this.SHELL = arg2;
    }


    private String getStreamLines(InputStream paramInputStream){
    String str = null;
    StringBuffer localStringBuffer = null;
    DataInputStream localDataInputStream = new DataInputStream(paramInputStream);
    try{
    if (localDataInputStream.available() > 0){
    localStringBuffer = new StringBuffer(localDataInputStream.readLine());
    }else{
    localDataInputStream.close();
    }
    if (localStringBuffer != null){
    str = localStringBuffer.toString();
    return str;
    }
    }catch (Exception e){
    Log.e("Exception", e.getMessage());
    }
    return str;
    }


    public Process run(String paramString){
    Process localProcess = null;
    try{
    localProcess = Runtime.getRuntime().exec(this.SHELL);
    DataOutputStream localDataOutputStream = new DataOutputStream(localProcess.getOutputStream());
    localDataOutputStream.writeBytes("exec " + paramString + "\n");
    localDataOutputStream.flush();
    return localProcess;
    }catch (Exception e){
    Log.e("ShellCommand", "Exception on running: " + paramString + ":" + e.getMessage());
    }
    return localProcess;
    }


    public ShellCommand.CommandResult runWaitFor(String paramString){
    Process localProcess = run(paramString);
    Integer localInteger = null;
    String str1 = null;
    String str2 = null;
    try{
    localInteger = Integer.valueOf(localProcess.waitFor());
    str1 = getStreamLines(localProcess.getInputStream());
    str2 = getStreamLines(localProcess.getErrorStream());
    return new ShellCommand.CommandResult(localInteger, str1, str2);
    }catch (InterruptedException localInterruptedException){
    Log.e("ShellCommand.java", "runWaitFor " + localInterruptedException.toString());
    }catch (NullPointerException localNullPointerException){
    Log.e("ShellCommand.java", "runWaitFor " + localNullPointerException.toString());
    }
    return null;
    }
    }
    }
    展开全文
  • Android执行shell命令封装

    万次阅读 2015-03-26 21:04:08
    Android可直接调用Runtime执行shell命令来实现一些功能,在此进行了一个封装。 将需要执行的命令添加到一个数组,并判断是否已root,还有一个回调接口,执行完后把执行结果封装到一个实体类。还有几个重载的执行...
  • NULL 博文链接:https://huangwenhui5000.iteye.com/blog/1812310
  • android执行shell命令和拷贝文件夹

    千次阅读 2012-02-21 19:31:39
    private class ShellExecute { /* * args[0] : shell 命令 如"ls" 或"ls -1"; * args[1] : 命令执行路径 如"/" ; */ public String execute ( String [] cmmand,String direc
  • /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"sys
  • android adb shell 命令大全 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --...
  • android执行adb shell命令源码

    千次下载 热门讨论 2014-02-18 13:27:56
    android执行adb shell命令源码,亲测可用!
  • Android adb shell命令详解及实例

    千次阅读 2020-07-21 08:51:09
    Android的内核本身就是Linux,所以Android本身也支持...在手机中执行Shell命令:1) 每次都加上adb shell来进行命令的发送与执行 adb shell <command> 2)获取模拟器所有包名 adb shell pm list packages 3
  • Android Java执行Shell命令

    千次阅读 2017-02-16 10:14:39
    主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍、使用及使用场景(如静默安装和卸载、修改hosts文件、拷贝文件)。使用纯Java实现,所以对Java程序同样适用。   很...
  • Android常用Shell命令

    2013-11-20 13:00:42
    Android常用Shell命令 Android Shell是Linux操作系统命令的缩小版,所以大部分都是Linux的命令,如常用到的mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了。 主要介绍几个Android特有的:
  • android shell命令工具类

    2020-06-09 15:32:39
    android shell命令工具类,可以执行单个命令 多个命令
  • Android中使用代码执行shell命令

    万次阅读 2014-04-17 23:38:35
    随时随地阅读更多技术实战干货,获取项目源码、学习资料,...Android执行shell命令 一、方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/b...
  • Android中常用的adb shell命令

    万次阅读 多人点赞 2015-11-10 18:42:59
    注意事项:这里写的命令,网页会...android 常用shell命令记录下来备忘设置adb环境变量其实就是将adb.exe的路径放到Path中,目的是cmd直接可以使用adb命令 比如我的adb.exe路径G:\tools\adt-bundle\sdk\platform-tools
  • Android执行shell命令通过进程pid杀进程时,使用Runtime.getRuntime().exec("kill "+pid),或者android.os.Process.killProcess(pid)。 有两个进程,uiautomator和adbd进程,uiautomator是adbd的子进程。 我将...
  • android adb shell 命令

    2016-11-25 11:05:34
    显示系统中全部Android平台: android list targets 显示系统中全部AVD(模拟器): android list avd 创建AVD(模拟器): android create avd –name 名称 –target 平台编号 启动模拟器: emulator -avd 名称 ...
  • Android执行执行Shell命令总结

    千次阅读 2014-03-04 19:43:13
    开发中有时需要用Java调用系统的一些命令,执行一些语言本事不具备的功能,Android开发中最常见的就是Root静默安装,通过...JavaSE调用shell命令原理也类似。 下面我们看个实例Process process; String cmd = "chmo
  • 给大家介绍Android执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习
  • Android adb shell 命令

    2011-04-04 22:58:00
    adb 概述 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来...2、在设备上运行shell命令; <br

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,969
精华内容 23,587
关键字:

android执行shell命令