From af757222c1933e480fb16eadb7b3fc93829049e8 Mon Sep 17 00:00:00 2001 From: yjj38 Date: Thu, 17 Jul 2025 14:10:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor(fileutils):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9B=B8=E5=85=B3=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 TaskUtils 中的文件操作相关函数移至 FileUtils - 优化了文件路径获取逻辑,统一到 FileUtils 中处理 - 删除了 TaskUtils 中的冗余函数 - 新增 FileUtils.makeFile 函数用于创建文件 --- .../java/com/android/grape/util/AppUtils.kt | 2 +- .../com/android/grape/util/DeviceUtils.kt | 4 +- .../java/com/android/grape/util/FileUtils.kt | 40 +++++++++++++++ .../java/com/android/grape/util/ShellUtils.kt | 2 +- .../java/com/android/grape/util/TaskUtils.kt | 51 ------------------- 5 files changed, 44 insertions(+), 55 deletions(-) diff --git a/app/src/main/java/com/android/grape/util/AppUtils.kt b/app/src/main/java/com/android/grape/util/AppUtils.kt index 00fa97e..e796f75 100644 --- a/app/src/main/java/com/android/grape/util/AppUtils.kt +++ b/app/src/main/java/com/android/grape/util/AppUtils.kt @@ -46,10 +46,10 @@ import com.android.grape.util.FileUtils.forceMakeDir import com.android.grape.util.FileUtils.getFileContent import com.android.grape.util.FileUtils.getRecordDataFileName import com.android.grape.util.FileUtils.getRecordSdcardApkVerFileName +import com.android.grape.util.FileUtils.getSessionTxtFileName import com.android.grape.util.InstallUtils.installApks4Tmp import com.android.grape.util.ShellUtils.chownSh import com.android.grape.util.ShellUtils.unzipAPkSh -import com.android.grape.util.TaskUtils.getSessionTxtFileName import com.android.grape.util.TaskUtils.isInstallRet import com.blankj.utilcode.util.ActivityUtils import java.io.File diff --git a/app/src/main/java/com/android/grape/util/DeviceUtils.kt b/app/src/main/java/com/android/grape/util/DeviceUtils.kt index 7839f58..f6d5c26 100644 --- a/app/src/main/java/com/android/grape/util/DeviceUtils.kt +++ b/app/src/main/java/com/android/grape/util/DeviceUtils.kt @@ -20,8 +20,8 @@ import com.android.grape.data.AppState.mainUserAndGroup import com.android.grape.data.AppState.monitorDir import com.android.grape.data.AppState.recordPackageName import com.android.grape.util.ContextUtils.getBaseFilesDir -import com.android.grape.util.TaskUtils.getRecordTxtFileName -import com.android.grape.util.TaskUtils.getSelfRecordTxtFileName +import com.android.grape.util.FileUtils.getRecordTxtFileName +import com.android.grape.util.FileUtils.getSelfRecordTxtFileName import java.io.File import java.io.InputStreamReader import java.io.LineNumberReader diff --git a/app/src/main/java/com/android/grape/util/FileUtils.kt b/app/src/main/java/com/android/grape/util/FileUtils.kt index 4f40ef0..7fe0d1d 100644 --- a/app/src/main/java/com/android/grape/util/FileUtils.kt +++ b/app/src/main/java/com/android/grape/util/FileUtils.kt @@ -25,6 +25,7 @@ import java.io.IOException import java.io.InputStream import java.io.InputStreamReader import java.io.OutputStream +import java.io.PrintWriter import java.io.RandomAccessFile import java.io.UnsupportedEncodingException import java.nio.charset.StandardCharsets @@ -85,7 +86,46 @@ object FileUtils { } } + public fun getSessionTxtFileName(context: Context): String { + return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/sessionTxt.txt" + } + public fun getRecordTxtFileName(context: Context): String { + return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordPackageName + ".txt" + } + + public fun getSelfRecordTxtFileName(context: Context): String { + return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + context.packageName + ".txt" + } + + public fun getRecordApkVerFileName(context: Context): String { + return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordFileName + } + + + public fun getRecordApkFileName(context: Context): String { + return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordPackageName + ".apk" + } + public fun makeFile(fileName: String) { + var PrintWriter: PrintWriter? = null + var process: Process? = null + try { + process = Runtime.getRuntime().exec("su") + PrintWriter = PrintWriter(process.outputStream) + //String cmd = "cd " + path+" \n"; + val cmd = "touch $fileName" + Log.i("TaskUtils", "makefile-> cmd:$cmd") + PrintWriter.println(cmd) + + PrintWriter.flush() + PrintWriter.close() + val value = process.waitFor() + } catch (e: Exception) { + e.printStackTrace() + } finally { + process?.destroy() + } + } public fun getRecordListTxtFileName(context: Context): String { return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordPackageName + ".list.txt" diff --git a/app/src/main/java/com/android/grape/util/ShellUtils.kt b/app/src/main/java/com/android/grape/util/ShellUtils.kt index 194ad4a..cb5fd09 100644 --- a/app/src/main/java/com/android/grape/util/ShellUtils.kt +++ b/app/src/main/java/com/android/grape/util/ShellUtils.kt @@ -7,7 +7,7 @@ import android.util.Log import com.android.grape.data.AppState.recordPackageName import com.android.grape.util.AppUtils.getPackageUserID import com.android.grape.util.ContextUtils.getMonitorDir -import com.android.grape.util.TaskUtils.getRecordListTxtFileName +import com.android.grape.util.FileUtils.getRecordListTxtFileName import com.blankj.utilcode.util.LogUtils import java.io.BufferedOutputStream import java.io.BufferedReader diff --git a/app/src/main/java/com/android/grape/util/TaskUtils.kt b/app/src/main/java/com/android/grape/util/TaskUtils.kt index a86d917..e1d9668 100644 --- a/app/src/main/java/com/android/grape/util/TaskUtils.kt +++ b/app/src/main/java/com/android/grape/util/TaskUtils.kt @@ -129,11 +129,6 @@ object TaskUtils { } - public fun getRecordListTxtFileName(context: Context): String { - return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordPackageName + ".list.txt" - } - - fun setInstallRet(installRetV: Boolean) { Log.i("TaskUtils", "setInstallRet: $installRetV") installRet = installRetV @@ -335,24 +330,6 @@ object TaskUtils { val paramString: String get() = paramsJson.toString() - public fun getRecordTxtFileName(context: Context): String { - return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordPackageName + ".txt" - } - - public fun getSelfRecordTxtFileName(context: Context): String { - return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + context.packageName + ".txt" - } - - - public fun getRecordApkFileName(context: Context): String { - return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordPackageName + ".apk" - } - - public fun getRecordApkVerFileName(context: Context): String { - return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/" + recordFileName - } - - public fun notcl(context: Context) { val url = "http://127.0.0.1:8090/ctl/notcl" @@ -385,12 +362,6 @@ object TaskUtils { } } - - public fun getSessionTxtFileName(context: Context): String { - return getBaseFilesDir(context) + "/" + monitorDir + "/" + apkDir + "/sessionTxt.txt" - } - - public fun returnResult(value: Int): Boolean { // 代表成功 return if (value == 0) { @@ -414,28 +385,6 @@ object TaskUtils { }, 5000) } - public fun makeFile(fileName: String) { - var PrintWriter: PrintWriter? = null - var process: Process? = null - try { - process = Runtime.getRuntime().exec("su") - PrintWriter = PrintWriter(process.outputStream) - //String cmd = "cd " + path+" \n"; - val cmd = "touch $fileName" - Log.i("TaskUtils", "makefile-> cmd:$cmd") - PrintWriter.println(cmd) - - PrintWriter.flush() - PrintWriter.close() - val value = process.waitFor() - } catch (e: Exception) { - e.printStackTrace() - } finally { - process?.destroy() - } - } - - //将xapk格式变成zip格式,并进行解压 // public fun changeZip() { // val split = name!!.split(".xapk".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()