안드로이드 테스트 장치 이더넷 포트의 노란색과 녹색 표시등

요구 사항: Android 기기 이더넷 포트의 노란색과 녹색 표시등이 정상인지 테스트하세요.

                        ThreadUtils.runOnSubThread(새로운 Runnable() {

                            @우세하다

                            공개 무효 실행() {

                                Log.d("coco","테스트 네트워크 1000m 시작.");

                                LinuxCommandRunner.exec("su");

                                LinuxCommandRunner.exec("ethtool -s eth0 속도 1000 이중 전이중");

                                Log.d("coco","테스트 네트워크 1000m 끝.");

                            }

                        });

 ThreadUtils는 스레드 풀 도구이므로 새 스레드를 직접 사용할 수도 있습니다.

LinuxCommandRunner는 Linux 명령을 실행하기 위한 도구 클래스입니다.

ThreadUtils.java

패키지 com.xxxxx.xxxxx;

import android.os.Handler;

import android.os.Looper;

import java.util.concurrent.Executor;

java.util.concurrent.Executors 가져오기;

공개 클래스 ThreadUtils {

    private static final Handler sHandler = new Handler(Looper.getMainLooper());

    개인 정적 최종 실행자 sExecutor = Executors.newSingleThreadExecutor();

    공개 정적 무효 runOnSubThread(실행 가능 실행 가능){

        sExecutor.execute(실행 가능);

    }

    공개 정적 무효 runOnUIThread(실행 가능 실행 가능){

        sHandler.post(실행 가능);

    }

    공개 정적 무효 종료(){

        sExecutor.shutdown();

    }

}

LinuxCommandRunner.java

패키지 com.rockchip.devicetest.utils;

import android.util.Log;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

공개 클래스 LinuxCommandRunner {

    private static final String TAG = LinuxCommandRunner.class.getSimpleName();

    공개 정적 문자열 runCommand(String[] args) {

        //실행할 리눅스 명령어

        String linuxCommand = "timeout 0.5s top";

        노력하다 {

            //리눅스 명령어 실행

            프로세스 프로세스 = Runtime.getRuntime().exec(linuxCommand);

            // Linux 명령의 출력을 읽습니다.

            BufferedReader 리더 = new BufferedReader(new InputStreamReader(process.getInputStream()));

            스트링라인;

            StringBuilder 출력 = new StringBuilder();

            while ((line = reader.readLine()) != null) {

                output.append(line).append("\n");

            }

            //실행 결과 출력

            Log.d(TAG,output.toString());

            // 실행 결과 확인

            int exitCode = process.waitFor();

            if (exitCode == 0) {

                Log.d(TAG,"Linux 명령이 성공적으로 실행되었습니다.");

            } 또 다른 {

                Log.d(TAG,"Linux 명령 실행 실패");

            }

            return 출력.toString();

        } catch (IOException | InterruptedException e) {

            e.printStackTrace();

        }

        null을 반환;

    }

    공개 정적 무효 exec(문자열 명령){

        노력하다 {

            Runtime.getRuntime().exec(new String[]{"sh","-c",command});

        } 잡기(IOException e) {

            e.printStackTrace();

        }

    }

}

 

추천

출처blog.csdn.net/MilesMatheson/article/details/132045933