(转载请注明出处:http://blog.csdn.net/buptgshengod

package net.gimite.nativeexe;import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import net.gimite.nativeexe.R;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.*;public class MainActivity extends Activity {    private TextView outputView;private Button localRunButton;private EditText localPathEdit;private Handler handler = new Handler();private EditText urlEdit;private Button remoteRunButton;/** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        outputView = (TextView)findViewById(R.id.outputView);        localPathEdit = (EditText)findViewById(R.id.localPathEdit);        localRunButton = (Button)findViewById(R.id.localRunButton);        localRunButton.setOnClickListener(onLocalRunButtonClick);    }private OnClickListener onLocalRunButtonClick = new OnClickListener() {public void onClick(View v) {String output = exec(localPathEdit.getText().toString());output(output);//  try {////     // Process process = Runtime.getRuntime().exec(localPathEdit.getText().toString());////            } catch (IOException e) {//                // TODO Auto-generated catch block//                e.printStackTrace();//            }}};// Executes UNIX command.    private String exec(String command) {        try {            Process process = Runtime.getRuntime().exec(command);            BufferedReader reader = new BufferedReader(                    new InputStreamReader(process.getInputStream()));            int read;            char[] buffer = new char[4096];            StringBuffer output = new StringBuffer();            while ((read = reader.read(buffer)) > 0) {                output.append(buffer, 0, read);            }            reader.close();            process.waitFor();            return output.toString();        } catch (IOException e) {            throw new RuntimeException(e);        } catch (InterruptedException e) {            throw new RuntimeException(e);        }    }    private void download(String urlStr, String localPath) {    try {URL url = new URL(urlStr);HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();urlconn.setRequestMethod("GET");urlconn.setInstanceFollowRedirects(true);urlconn.connect();InputStream in = urlconn.getInputStream();FileOutputStream out = new FileOutputStream(localPath);int read;byte[] buffer = new byte[4096];while ((read = in.read(buffer)) > 0) {out.write(buffer, 0, read);}out.close();in.close();urlconn.disconnect();} catch (MalformedURLException e) {throw new RuntimeException(e);} catch (IOException e) {throw new RuntimeException(e);}    }    private void output(final String str) {    Runnable proc = new Runnable() {public void run() {outputView.setText(str);}    };    handler.post(proc);    }}

要加入权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

效果图

【android-tips】android程序执行adb shell命令(实例源码)_第1张图片


源码下载地址



更多相关文章

  1. Android 源码阅读之SMS
  2. android 源码编译
  3. android 源码下载与编译(ubuntu11.04)
  4. Android:在WebView中获取网页源码
  5. Android中图片的放大和缩小源码
  6. android GPS定位和卫星个数(源码)
  7. MacAndroid源码下载 Android10详解
  8. Android电话来电流程源码分析

随机推荐

  1. Google Android操作系统内核编译图文教程
  2. Android(安卓)App开发基础篇—四大组件之
  3. Android网络收音机项目
  4. android:绘图
  5. Android快速入门(一):Android介绍
  6. Android(安卓)3.0发布了
  7. Android(安卓)源码解析-AsyncTask
  8. Android(安卓)HAL 开发 (1)
  9. Android防止内容溢出
  10. 初始Android