Android 代码中执行adb shell命令
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Android 代码中执行adb shell命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                效果圖
xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:paddingVertical="25dp"android:paddingHorizontal="25dp"tools:context=".AdbRunActivity"><EditTextandroid:id="@+id/activity_adb_run_cmd_et"android:gravity="center"android:layout_width="match_parent"android:layout_height="40dp"android:hint="@string/activity_adb_run_cmd"/><Buttonandroid:id="@+id/activity_adb_run_cmd_bt"android:layout_marginTop="40dp"android:gravity="center"android:layout_width="match_parent"android:layout_height="40dp"android:text="@string/activity_adb_run_cmd_run"android:textAllCaps="false"android:background="@color/purple_200"/></LinearLayout>需要輸入正確的adb shell 命令,實際運行只需要adb shell 后面的命令
package com.fzw.csdnapplication;import android.app.Activity; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;import java.io.IOException;public class AdbRunActivity extends Activity {private static final String TAG = "CsdnApplication AdbRunActivity";private EditText cmdEt;private Button runCmdBt;private String result;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.i(TAG,"onCreate");setContentView(R.layout.activity_adb_run_acivity);initView();clickEvent();}private void initView() {Log.i(TAG,"initView");cmdEt = findViewById(R.id.activity_adb_run_cmd_et);runCmdBt = findViewById(R.id.activity_adb_run_cmd_bt);}private void clickEvent() {runCmdBt.setOnClickListener(view -> {result = runCmd(cmdEt.getText().toString());showToast();Log.d(TAG, "run result: " + result);});}private void showToast() {Log.i(TAG, "show Toast");String toastText = "執行失敗,請檢查shell命令!";if (!TextUtils.isEmpty(result)) {toastText = "執行成功!";}Toast.makeText(this,toastText, Toast.LENGTH_SHORT).show();}private String runCmd(String cmd) {Log.d(TAG, "runCmd: " + cmd);if (TextUtils.isEmpty(cmd) || cmd.length() < 11) {return "";}String cmdHead = cmd.substring(0, 9);if (!"adb shell".equals(cmdHead)) {return "";}return execRootCmd(cmd);}/*** 執行命令并且輸出結果*/public static String execRootCmd(String cmd) {String content = "";try {cmd = cmd.replace("adb shell","");Process process = Runtime.getRuntime().exec(cmd);Log.d(TAG,"process " + process.toString());content = process.toString();} catch (IOException e) {Log.d(TAG,"exception " + e.toString());e.printStackTrace();}return content;} }總結
以上是生活随笔為你收集整理的Android 代码中执行adb shell命令的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 可遇不可求的Question之不支持一个
 - 下一篇: Attempt to write to