JAVA代码执行shell命令
2011-06-07 20:48:20
在Android可能有的系统信息没有直接提供API接口来访问,为了获取系统信息时我们就要在用shell指令来获取信息,这时我们可以在代码中来执行命令 ,这里主要用到ProcessBuilder 这个类.
代码部分 :
package com.yin.system_analysis; import java.io.File; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { private final static String[] ARGS = {"ls","-l"}; private final static String TAG = "com.yin.system"; Button mButton; TextView myTextView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton = (Button) findViewById(R.id.myButton); myTextView = (TextView) findViewById(R.id.textView); mButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { myTextView.setText(getResult()); } }); } public String getResult(){ ShellExecute cmdexe = new ShellExecute ( ); String result=""; try { result = cmdexe.execute(ARGS, "/"); } catch (IOException e) { Log.e(TAG, "IOException"); e.printStackTrace(); } return result; } private class ShellExecute { /* * args[0] : shell 命令 如"ls" 或"ls -1"; * args[1] : 命令执行路径 如"/" ; */ public String execute ( String [] cmmand,String directory) throws IOException { String result = "" ; try { ProcessBuilder builder = new ProcessBuilder(cmmand); if ( directory != null ) builder.directory ( new File ( directory ) ) ; builder.redirectErrorStream (true) ; Process process = builder.start ( ) ; //得到命令执行后的结果 InputStream is = process.getInputStream ( ) ; byte[] buffer = new byte[1024] ; while ( is.read(buffer) != -1 ) { result = result + new String (buffer) ; } is.close ( ) ; } catch ( Exception e ) { e.printStackTrace ( ) ; } return result ; } } }
布局文件很简单就不列出了
执行结果 如图 :
您还没有登录,请您登录后再发表评论
Android中级篇之用JAVA代码执行shell命令
本教程将深入讲解如何在Android应用中通过Java代码执行shell命令,以提升应用的功能和效率。 一、Android与Shell命令 Android系统基于Linux内核,因此支持使用Linux命令行工具,即shell命令。这些命令提供了对系统...
在Android系统中,有时我们需要执行一些底层操作,如文件管理、系统调试或自动化测试,这时候就需要用到shell命令。本文将深入探讨如何在Android平台上执行shell命令,以及它在实际开发中的应用。 首先,Android...
5. **错误处理**:确保在执行过程中处理可能出现的异常,例如用户拒绝Root权限,或者命令执行失败等。通常需要在回调或异步任务中进行错误处理。 6. **测试与调试**:在实际设备上进行测试,因为模拟器通常不支持...
本文将深入探讨如何使用JNI在Android中执行shell命令。 首先,理解JNI的工作原理是必要的。JNI接口为Java应用程序提供了一个桥梁,使其可以直接调用本地(非Java)代码,通常是C/C++编写的库。这涉及到创建一个本地...
在给定的描述中,虽然没有提供具体的信息,但我们可以推测这篇博文可能是博主Qindongliang分享的一个实用工具,可能包括如何在Java代码中构建和使用这样的工具,以及解决在执行Shell命令时可能遇到的问题。...
可以使用Android的日志系统(如`Log.d()`, `Log.e()`等)将这些信息输出到控制台或者保存到文件。 总的来说,通过JNI调用C/C++代码执行shell命令,可以扩展Android应用的功能,实现更底层的操作。不过需要注意的是...
本单元实现了一个伪的Shell,可以用于在Android程序中执行Shell命令,如果需要Root权限,则在执行前,调用AskForRoot方法来获取用户的Root授权,如果不再需要在Root账号下执行命令,则调用ExitRoot方法来退出Root...
本篇文章将深入讲解如何在Android代码中执行`adb shell`命令,并通过源码分析来理解其工作原理。 首先,`adb shell`命令是通过ADB工具在设备的shell环境中执行命令。在Android应用中,我们通常会用到`Runtime`类...
- **性能影响**:频繁或长时间的shell命令执行可能会影响设备性能,尤其是当命令涉及大量计算或I/O操作时。 了解这些基础知识后,我们就可以根据实际需求在Android设备上灵活地执行shell命令,无论是用于开发、调试...
综上所述,"Android程序中(APK程序)执行Adb shell命令"涉及到利用Java的Runtime或ProcessBuilder类来调用系统shell,执行特定的命令。这个过程需要理解ADB的作用,以及如何在Android应用程序中安全地使用shell命令...
3. **命令结果获取**: ExecuteShell会返回命令执行的结果,包括标准输出(stdout)和错误输出(stderr),方便开发者检查命令执行的状态和结果。 4. **命令流处理**: 支持命令流的处理,可以实时监听命令执行的进度...
* 批量任务:我们可以使用 Java 调用 Shell 命令来执行批量任务,例如使用 `bash` 命令来执行批量脚本。 Java 调用 Shell 命令的优缺点 Java 调用 Shell 命令有很多优点,例如: * 可以执行系统命令或脚本,具有...
"Java代码执行shell命令的实现" Java代码执行shell命令的实现是指在Java程序中调用操作系统的shell命令,实现与操作系统交互的功能。下面将详细介绍Java代码执行shell命令的实现方法。 环境准备 在执行shell命令...
在实际项目中,为了提高代码的可维护性和复用性,通常会将SSH连接和命令执行封装成一个工具类,以便在多个地方调用。SSHXCUTE.jar简化了Java开发中的SSH操作,使得远程执行Linux命令变得更加便捷和安全。
在Android开发中,Java语言是主要的编程工具,但有时候我们可能需要在应用程序中执行一些脚本代码,比如JavaScript、Python或Shell等。这通常是为了实现一些特定功能,如自动化处理、数据解析或是利用第三方库的脚本...
常见的办法是通过本地工具(例如 Putty)连接远程计算机,输入命令执行,但是当遇到需要集成这些任务到代码或者开发、测试框架中时,往往就没有很好的解决方案了。sshxcute 就是这样一个框架工具集,它基于 JSCH ...
###Java中执行adb shell命令本项目中,adb shell命令执行的实现方法主要参考网文()。文章中,把执行代码集成在ShellUtils工具类中,执行结果返回CommandResult这个类。ShellUtils与CommandResult这两个类的说明可...
一个用于在Android开发中 执行adb shell命令的类,可以以最高权限(su)执行。例如mount命令等
java-telnet连接远程服务器并执行shell命令 具体代码 java-telnet
相关推荐
Android中级篇之用JAVA代码执行shell命令
本教程将深入讲解如何在Android应用中通过Java代码执行shell命令,以提升应用的功能和效率。 一、Android与Shell命令 Android系统基于Linux内核,因此支持使用Linux命令行工具,即shell命令。这些命令提供了对系统...
在Android系统中,有时我们需要执行一些底层操作,如文件管理、系统调试或自动化测试,这时候就需要用到shell命令。本文将深入探讨如何在Android平台上执行shell命令,以及它在实际开发中的应用。 首先,Android...
5. **错误处理**:确保在执行过程中处理可能出现的异常,例如用户拒绝Root权限,或者命令执行失败等。通常需要在回调或异步任务中进行错误处理。 6. **测试与调试**:在实际设备上进行测试,因为模拟器通常不支持...
本文将深入探讨如何使用JNI在Android中执行shell命令。 首先,理解JNI的工作原理是必要的。JNI接口为Java应用程序提供了一个桥梁,使其可以直接调用本地(非Java)代码,通常是C/C++编写的库。这涉及到创建一个本地...
在给定的描述中,虽然没有提供具体的信息,但我们可以推测这篇博文可能是博主Qindongliang分享的一个实用工具,可能包括如何在Java代码中构建和使用这样的工具,以及解决在执行Shell命令时可能遇到的问题。...
可以使用Android的日志系统(如`Log.d()`, `Log.e()`等)将这些信息输出到控制台或者保存到文件。 总的来说,通过JNI调用C/C++代码执行shell命令,可以扩展Android应用的功能,实现更底层的操作。不过需要注意的是...
本单元实现了一个伪的Shell,可以用于在Android程序中执行Shell命令,如果需要Root权限,则在执行前,调用AskForRoot方法来获取用户的Root授权,如果不再需要在Root账号下执行命令,则调用ExitRoot方法来退出Root...
本篇文章将深入讲解如何在Android代码中执行`adb shell`命令,并通过源码分析来理解其工作原理。 首先,`adb shell`命令是通过ADB工具在设备的shell环境中执行命令。在Android应用中,我们通常会用到`Runtime`类...
- **性能影响**:频繁或长时间的shell命令执行可能会影响设备性能,尤其是当命令涉及大量计算或I/O操作时。 了解这些基础知识后,我们就可以根据实际需求在Android设备上灵活地执行shell命令,无论是用于开发、调试...
综上所述,"Android程序中(APK程序)执行Adb shell命令"涉及到利用Java的Runtime或ProcessBuilder类来调用系统shell,执行特定的命令。这个过程需要理解ADB的作用,以及如何在Android应用程序中安全地使用shell命令...
3. **命令结果获取**: ExecuteShell会返回命令执行的结果,包括标准输出(stdout)和错误输出(stderr),方便开发者检查命令执行的状态和结果。 4. **命令流处理**: 支持命令流的处理,可以实时监听命令执行的进度...
* 批量任务:我们可以使用 Java 调用 Shell 命令来执行批量任务,例如使用 `bash` 命令来执行批量脚本。 Java 调用 Shell 命令的优缺点 Java 调用 Shell 命令有很多优点,例如: * 可以执行系统命令或脚本,具有...
"Java代码执行shell命令的实现" Java代码执行shell命令的实现是指在Java程序中调用操作系统的shell命令,实现与操作系统交互的功能。下面将详细介绍Java代码执行shell命令的实现方法。 环境准备 在执行shell命令...
在实际项目中,为了提高代码的可维护性和复用性,通常会将SSH连接和命令执行封装成一个工具类,以便在多个地方调用。SSHXCUTE.jar简化了Java开发中的SSH操作,使得远程执行Linux命令变得更加便捷和安全。
在Android开发中,Java语言是主要的编程工具,但有时候我们可能需要在应用程序中执行一些脚本代码,比如JavaScript、Python或Shell等。这通常是为了实现一些特定功能,如自动化处理、数据解析或是利用第三方库的脚本...
常见的办法是通过本地工具(例如 Putty)连接远程计算机,输入命令执行,但是当遇到需要集成这些任务到代码或者开发、测试框架中时,往往就没有很好的解决方案了。sshxcute 就是这样一个框架工具集,它基于 JSCH ...
###Java中执行adb shell命令本项目中,adb shell命令执行的实现方法主要参考网文()。文章中,把执行代码集成在ShellUtils工具类中,执行结果返回CommandResult这个类。ShellUtils与CommandResult这两个类的说明可...
一个用于在Android开发中 执行adb shell命令的类,可以以最高权限(su)执行。例如mount命令等
java-telnet连接远程服务器并执行shell命令 具体代码 java-telnet