【android-tips】android程序执行adb shell命令(实例源码)
生活随笔
收集整理的這篇文章主要介紹了
【android-tips】android程序执行adb shell命令(实例源码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(轉載請注明出處: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. */@Overridepublic 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命令(实例源码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#读取xml中特定节点的值(实例)
- 下一篇: 【android4.3】记一次完整的an