摘录自
http://www.eoeandroid.com/archiver/tid-495.html原文地址
在java程序中,执行shell
// /**delete all files for a dir*/
// public static void deleteDirAndCludeAllFile(String deletePath){
// try {
// execCommand("busybox ls -la");
// execCommand("rm -r /local/.information");
// Log.d(TAG, ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>goto");
// } catch (Exception e) {
// Log.d(TAG, ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+e.toString());
// }
// }
//
// public static void execCommand(String command) throws IOException {
// // start the ls command running
// //String[] args = new String[]{"sh", "-c", command};
// Runtime runtime = Runtime.getRuntime(); //这句话就是shell与高级语言间的调用
// Process proc = runtime.exec(command); //如果有参数的话可以用另外一个被重载的exec方法
//
// //实际上这样执行时启动了一个子进程,它没有父进程的控制台
// //也就看不到输出,所以我们需要用输出流来得到shell执行后的输出
// InputStream inputstream = proc.getInputStream();
// InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
// BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
// // read the ls output
//
// String line = "";
// StringBuilder sb = new StringBuilder(line);
// while ((line = bufferedreader.readLine()) != null) {
// //System.out.println(line);
// sb.append(line);
// sb.append('\n');
// }
//
// Log.d(TAG, ".......................................... :["+sb.toString()+"]");
//
// //使用exec执行不会等执行成功以后才返回,它会立即返回
// //所以在某些情况下是很要命的(比如复制文件的时候)
// //使用wairFor()可以等待命令执行完成以后才返回
// try {
// if (proc.waitFor() != 0) {
// System.err.println("exit value = " + proc.exitValue());
// }
// }
// catch (InterruptedException e) {
// System.err.println(e);
// }
// }
分享到:
相关推荐
"AndroidShell资料收集"这个主题,显然关注的是如何利用Shell命令来理解和分析Android系统的内部工作原理,以及进行调试和优化。Android逆向是研究Android应用程序和系统服务的内部行为,通常用于安全分析、漏洞挖掘...
一个用于在Android开发中 执行adb shell命令的类,可以以最高权限(su)执行。例如mount命令等
【Android-ExecuteShell开源库详解】 ExecuteShell是一个专为Android开发者设计的开源库,它使得在Android应用程序中执行shell命令变得轻而易举。在Android系统中,有时我们需要执行一些低级的操作,如文件管理、...
此时,利用Android Shell命令进行批量打包就显得尤为重要。Android Shell批量打包是一种高效的方法,它通过编写脚本自动化处理一系列打包操作,节省时间和精力。 首先,我们要理解Android应用程序的基本结构。一个...
在Android平台上,有时候开发者需要超越普通应用程序的权限范围,例如执行系统级别的操作,这就涉及到给APP授权和执行Shell命令。Android系统默认是以安全为优先,不允许应用无限制地执行shell命令,但通过获取Root...
在Android开发中,Java语言是主要的编程工具,但有时候我们可能需要在应用程序中执行一些脚本代码,比如JavaScript、Python或Shell等。这通常是为了实现一些特定功能,如自动化处理、数据解析或是利用第三方库的脚本...
本教程将深入讲解如何在Android应用中通过Java代码执行shell命令,以提升应用的功能和效率。 一、Android与Shell命令 Android系统基于Linux内核,因此支持使用Linux命令行工具,即shell命令。这些命令提供了对系统...
2. **Runtime.exec()**:在Android应用程序中,可以通过Java的Runtime类的exec()方法来执行shell命令。例如: ```java Process process = Runtime.getRuntime().exec("ls /sdcard"); ``` 这将在设备上执行`ls /...
cd D:\2015_7soft\Java_android\adt-bundle-windows-x86-20130522\sdk\platform-tools ``` 4. **进入Android shell** 在命令提示符中输入`adb shell`命令,如果一切正常,你将看到一个`$`或`#`提示符,这表示你...
因此,要在Android上运行shell脚本,我们通常需要通过Java代码来间接实现。 1. **使用Runtime类**:这是最基础的方法,通过`Runtime.getRuntime().exec()`方法执行shell命令。例如: ```java Process process = ...
总结来说,Android应用执行`adb shell`命令主要依赖于Java层的`Runtime`或`Process`类,而原生层可以通过`system()`或`popen()`函数实现。在实际项目中,开发者应确保对命令的权限控制和错误处理有充分的理解,以...
在Android系统中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言写的代码进行交互。JNI在各种场景下都非常有用,比如性能优化、利用系统底层功能或者如本例所示,执行系统级别的操作,...
本项目是一款基于Java和Shell开发的MD360Player4Android安卓播放器设计源码,包含186个文件,其中包括119个Java源文件、16个XML布局文件、13个JPG图片文件、10个PNG图片文件、7个Gradle构建脚本文件、5个GLSL着色器...
综上所述,"Android程序中(APK程序)执行Adb shell命令"涉及到利用Java的Runtime或ProcessBuilder类来调用系统shell,执行特定的命令。这个过程需要理解ADB的作用,以及如何在Android应用程序中安全地使用shell命令...
`Android代码-通过shell连接到服务器`这个主题就是关于如何利用编程手段让Android设备通过TCP连接反向连接到服务器,从而实现远程管理或调试。这种方式通常被称为“反向TCP shell”。 首先,我们要理解什么是反向...
本篇文章将深入探讨如何使用Java自动化方法模拟Android的人工点击和触屏事件,同时涉及`platform-tools`工具包中的adb(Android Debug Bridge)。 首先,`platform-tools`是Android SDK的一部分,包含了adb工具,这...
在Android系统中,由于安全性的考虑,普通应用通常无法直接执行shell命令,这给了一些开发者在特定场景下进行系统级操作的限制。然而,通过巧妙地利用`app_process`,可以实现在不获取root权限的情况下调用shell命令...
该项目是一款基于Java和Shell开发的Android图片选择与预览控件,集成了九宫格展示和拖拽排序功能。源码包含122个文件,其中Java文件53个,XML文件37个,PNG图片文件18个,Gradle文件4个,以及其他类型文件如属性文件...
**Android ADB Shell详解** Android调试桥(Android Debug Bridge,简称ADB)是Android开发者不可或缺的工具,它允许用户通过USB或无线网络连接设备进行调试、传输文件、执行shell命令等操作。`adb_shell`是ADB的一...