This commit is contained in:
Administrator 2025-06-25 13:59:07 +08:00
parent 33c53e8239
commit a6c58716ec
3 changed files with 10 additions and 19 deletions

View File

@ -200,7 +200,7 @@ public class MainActivity extends AppCompatActivity {
// 初始化 ChangeDeviceInfoUtil // 初始化 ChangeDeviceInfoUtil
String androidId = getAndroidId(this); String androidId = getAndroidId(this);
String taskId = UUID.randomUUID().toString(); String taskId = UUID.randomUUID().toString();
ChangeDeviceInfoUtil.initialize("US", 2, this, androidId); // ChangeDeviceInfoUtil.initialize("US", 2, this, androidId);
// 获取输入框和按钮 // 获取输入框和按钮
Button executeButton = findViewById(R.id.execute_button); Button executeButton = findViewById(R.id.execute_button);
Button stopExecuteButton = findViewById(R.id.stop_execute_button); Button stopExecuteButton = findViewById(R.id.stop_execute_button);
@ -238,27 +238,22 @@ public class MainActivity extends AppCompatActivity {
LogFileUtil.logAndWrite(Log.INFO, "MainActivity", "executeLogic: Submitting job to executor",null); LogFileUtil.logAndWrite(Log.INFO, "MainActivity", "executeLogic: Submitting job to executor",null);
initializeExecutorService(); initializeExecutorService();
ChangeDeviceInfoUtil.getDeviceInfo(taskId, androidId);
executeSingleLogic();
executorService.submit(() -> { executorService.submit(() -> {
try { try {
AutoJsUtil.registerScriptResultReceiver(this); AutoJsUtil.registerScriptResultReceiver(this);
AutoJsUtil.flag = true; AutoJsUtil.flag = true;
while (isRunning) { while (isRunning) {
// synchronized (taskLock) {
// while (!AutoJsUtil.flag && isRunning) {
// taskLock.wait(30000);
// }
//
//
// AutoJsUtil.flag = false;
// }
if (!isRunning) break; if (!isRunning) break;
// 从队列中获取最新的 scriptResult // 从队列中获取最新的 scriptResult
LogFileUtil.logAndWrite(Log.INFO, "MainActivity", "executeSingleLogic: Running AutoJs script",null); LogFileUtil.logAndWrite(Log.INFO, "MainActivity", "executeSingleLogic: Running AutoJs script",null);
ChangeDeviceInfoUtil.getDeviceInfo(taskId, androidId);
executeSingleLogic();
String currentScriptResult = scriptResultQueue.take(); String currentScriptResult = scriptResultQueue.take();
ChangeDeviceInfoUtil.getDeviceInfo(taskId, androidId);
ChangeDeviceInfoUtil.processPackageInfo(TaskUtil.getPackageInfo(androidId), this);
executeSingleLogic();
TaskUtil.execSaveTask(this, androidId, taskId, currentScriptResult); TaskUtil.execSaveTask(this, androidId, taskId, currentScriptResult);
LogFileUtil.logAndWrite(android.util.Log.DEBUG, "MainActivity", "----发送result------;" + currentScriptResult, null); LogFileUtil.logAndWrite(android.util.Log.DEBUG, "MainActivity", "----发送result------;" + currentScriptResult, null);
if (currentScriptResult != null && !TextUtils.isEmpty(currentScriptResult)) { if (currentScriptResult != null && !TextUtils.isEmpty(currentScriptResult)) {
@ -394,9 +389,6 @@ public class MainActivity extends AppCompatActivity {
executorService.shutdown(); executorService.shutdown();
} }
isRunning = false; isRunning = false;
synchronized (taskLock) {
taskLock.notifyAll();
}
} }
public static MainActivity getInstance() { public static MainActivity getInstance() {

View File

@ -1,6 +1,5 @@
package com.example.studyapp.autoJS; package com.example.studyapp.autoJS;
import static com.example.studyapp.MainActivity.taskLock;
import static com.example.studyapp.task.TaskUtil.downloadCodeFile; import static com.example.studyapp.task.TaskUtil.downloadCodeFile;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
@ -18,6 +17,7 @@ import androidx.core.content.ContextCompat;
import com.example.studyapp.MainActivity; import com.example.studyapp.MainActivity;
import com.example.studyapp.utils.LogFileUtil; import com.example.studyapp.utils.LogFileUtil;
import com.example.studyapp.utils.ShellUtils; import com.example.studyapp.utils.ShellUtils;
import java.io.File; import java.io.File;
public class AutoJsUtil { public class AutoJsUtil {
@ -32,8 +32,7 @@ public class AutoJsUtil {
LogFileUtil.logAndWrite(android.util.Log.INFO, "AutoJsUtil", "-------脚本运行开始:--------" + count++,null); LogFileUtil.logAndWrite(android.util.Log.INFO, "AutoJsUtil", "-------脚本运行开始:--------" + count++,null);
File scriptDir = new File(Environment.getExternalStorageDirectory(), "script");//todo File scriptDir = new File(Environment.getExternalStorageDirectory(), "script");//todo
scriptDir.delete(); scriptDir.delete();
// File scriptFile = new File(scriptDir, "main.js"); File scriptFile = downloadCodeFile("main.js", scriptDir);//todo
File scriptFile = downloadCodeFile("main.js", scriptDir);
if (scriptFile == null || !scriptFile.exists()) { if (scriptFile == null || !scriptFile.exists()) {
runOnUiThread(() -> Toast.makeText(context, "下载脚本文件失败", Toast.LENGTH_SHORT).show()); runOnUiThread(() -> Toast.makeText(context, "下载脚本文件失败", Toast.LENGTH_SHORT).show());
LogFileUtil.logAndWrite(android.util.Log.ERROR, "AutoJsUtil", "下载脚本文件失败",null); LogFileUtil.logAndWrite(android.util.Log.ERROR, "AutoJsUtil", "下载脚本文件失败",null);
@ -128,7 +127,7 @@ public class AutoJsUtil {
} }
} }
private static final String AUTOJS_SCRIPT_FINISHED_ACTION = "org.autojs.SCRIPT_FINISHED"; private static final String AUTOJS_SCRIPT_FINISHED_ACTION = "org.autojs.SCRIPT_FINISHED_CACHE";
private static final String SCRIPT_RESULT_KEY = "result"; private static final String SCRIPT_RESULT_KEY = "result";
public static void stopAutojsScript(Context context) { public static void stopAutojsScript(Context context) {

View File

@ -158,7 +158,7 @@ public class ChangeDeviceInfoUtil {
LogFileUtil.logAndWrite(android.util.Log.INFO, LOG_TAG, "Final DeviceInfo: " + afDeviceObject, null); LogFileUtil.logAndWrite(android.util.Log.INFO, LOG_TAG, "Final DeviceInfo: " + afDeviceObject, null);
} }
private static void processPackageInfo(Map<String, String> packageInfo, Context context) { public static void processPackageInfo(Map<String, String> packageInfo, Context context) {
if (packageInfo != null) { if (packageInfo != null) {
for (Map.Entry<String, String> entry : packageInfo.entrySet()) { for (Map.Entry<String, String> entry : packageInfo.entrySet()) {
String packageName = entry.getKey(); String packageName = entry.getKey();