From a057c54ef7e474ceba678b67f9b5e2c0eeeefb86 Mon Sep 17 00:00:00 2001 From: yanglikai Date: Mon, 6 Jan 2020 11:10:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/kevin/testool/MainActivity.java | 8 ++-- .../kevin/testool/checkpoint/Checkpoint.java | 2 +- .../java/com/kevin/testool/common/Common.java | 2 +- .../com/kevin/testool/utils/AdbUtils.java | 40 ++++++++++++++----- 4 files changed, 35 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/kevin/testool/MainActivity.java b/app/src/main/java/com/kevin/testool/MainActivity.java index ee39d62..2e2727b 100644 --- a/app/src/main/java/com/kevin/testool/MainActivity.java +++ b/app/src/main/java/com/kevin/testool/MainActivity.java @@ -123,7 +123,7 @@ protected void onCreate(Bundle savedInstanceState) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CHANGE_WIFI_STATE}, 1); } } - if (!AdbUtils.hasRootPermission()){ + if (!AdbUtils.isAdbEnable()){ new AlertDialog.Builder(MainActivity.this) .setTitle("提示:") .setMessage("请先开启root权限, 或 usb连接电脑 输入\"adb tcpip 5555\"执行测试") @@ -709,10 +709,8 @@ public void afterTextChanged(Editable s) { JSONObject mysql = null; try { mysql = Common.CONFIG().getJSONObject("MYSQL"); - dbUrl.setText(""); - dbUser.setText("test"); -// dbUrl.setText(String.format("url: %s", mysql.getString("url"))); -// dbUser.setText(String.format("username: %s", mysql.getString("user"))); + dbUrl.setText(String.format("url: %s", mysql.getString("url"))); + dbUser.setText(String.format("username: %s", mysql.getString("user"))); // dbPassword.setText(String.format("password:%s",mysql.getString("password"))); dbPassword.setText(String.format("password: %s","*******")); } catch (JSONException e) { diff --git a/app/src/main/java/com/kevin/testool/checkpoint/Checkpoint.java b/app/src/main/java/com/kevin/testool/checkpoint/Checkpoint.java index 4f11b6d..fe667da 100644 --- a/app/src/main/java/com/kevin/testool/checkpoint/Checkpoint.java +++ b/app/src/main/java/com/kevin/testool/checkpoint/Checkpoint.java @@ -32,7 +32,7 @@ public static Boolean checkIfExist(Boolean refresh,String key, String value, int } if (key.length() == 0){ if (refresh) { - AdbUtils.runShellCommand("am instrument -w -r -e debug false -e class 'com.github.uiautomator.GetDumpTest' com.github.uiautomator.test/android.support.test.runner.AndroidJUnitRunner\n", 0); + get_elements(true, "", "", 0); } try { String content = MyFile.readFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "window_dump.xml"); diff --git a/app/src/main/java/com/kevin/testool/common/Common.java b/app/src/main/java/com/kevin/testool/common/Common.java index 37298e4..53e972a 100644 --- a/app/src/main/java/com/kevin/testool/common/Common.java +++ b/app/src/main/java/com/kevin/testool/common/Common.java @@ -612,7 +612,7 @@ public static void generateBugreport(final String logFileName) { new Thread() { @Override public void run() { - AdbUtils.runShellCommand("bugreport > " + bugreportFile + "\n", 600); + AdbUtils.runShellCommand("bugreport > " + bugreportFile, 600000); try { MyFile.ZipFolder(logFileName, logFileName.replace(".txt", ".zip")); MyFile.deleteFile(logFileName); diff --git a/app/src/main/java/com/kevin/testool/utils/AdbUtils.java b/app/src/main/java/com/kevin/testool/utils/AdbUtils.java index 144673c..1f3e5a5 100644 --- a/app/src/main/java/com/kevin/testool/utils/AdbUtils.java +++ b/app/src/main/java/com/kevin/testool/utils/AdbUtils.java @@ -50,12 +50,12 @@ public static boolean isProcessRunning(String processName) throws Exception { * @return 当前app是否有root权限 */ public static boolean hasRootPermission() { - Log.d(TAG, "hasRootPermission: " + rooted); Process process = null; DataOutputStream os = null; - if (rooted != null){ - return rooted; - } +// if (rooted != null){ +// logUtil.d(TAG, "hasRootPermission: " + rooted); +// return rooted; +// } try { process = Runtime.getRuntime().exec("su"); // process = Runtime.getRuntime().exec("echo hello"); @@ -63,11 +63,8 @@ public static boolean hasRootPermission() { os.writeBytes("exit\n"); os.flush(); process.waitFor(); - if (process.exitValue() != 0) { - rooted = false; - } else { - rooted = true; - } +// logUtil.d("", process.exitValue()+""); + rooted = process.exitValue() == 0; } catch (Exception e) { e.printStackTrace(); rooted = false; @@ -81,10 +78,33 @@ public static boolean hasRootPermission() { } } } -// Log.d(TAG, "hasRootPermission: " + rooted); + logUtil.d(TAG, "hasRootPermission: " + rooted); return rooted; } + /** + * 是否可以执行adb命令 + * @return boolean + */ + public static boolean isAdbEnable(){ + final boolean[] result = new boolean[1]; + if (hasRootPermission()){ + return true; + } else { + Thread isAdb = new Thread(new Runnable() { + @Override + public void run() { + result[0] = CmdTools.generateConnection(); + } + }); + isAdb.start(); + while (isAdb.isAlive()){ + SystemClock.sleep(100); + } + return result[0]; + } + } + /** * Root身份执行shell命令,不关注输出结果 *