refactor(fileutils): 重构文件相关函数

- 将 TaskUtils 中的文件操作相关函数移至 FileUtils
- 优化了文件路径获取逻辑,统一到 FileUtils 中处理
- 删除了 TaskUtils 中的冗余函数
- 新增 FileUtils.makeFile 函数用于创建文件
This commit is contained in:
yjj38 2025-07-17 14:10:43 +08:00
parent 66ee32d0e2
commit af757222c1
5 changed files with 44 additions and 55 deletions

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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()