From 6703c2dbcaf5a95f948ec7ba954819938ff1a83d Mon Sep 17 00:00:00 2001 From: aiselp Date: Sat, 7 Oct 2023 16:23:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config.yml | 1 - app/build.gradle.kts | 11 +- autojs/build.gradle.kts | 6 +- .../stardust/autojs/ScriptEngineService.java | 283 ------------------ .../stardust/autojs/ScriptEngineService.kt | 251 ++++++++++++++++ build.gradle.kts | 1 - buildSrc/src/main/kotlin/Version.kt | 1 + dependencies.gradle.kts | 7 - gradle/libs.versions.toml | 23 ++ paddleocr/build.gradle.kts | 2 +- settings.gradle | 4 +- version.json | 26 -- 12 files changed, 282 insertions(+), 334 deletions(-) delete mode 100644 _config.yml delete mode 100644 autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java create mode 100644 autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt delete mode 100644 dependencies.gradle.kts create mode 100644 gradle/libs.versions.toml delete mode 100644 version.json diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c4192631f..000000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 503b10646..bcad083bb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -192,7 +192,7 @@ dependencies { androidTestImplementation("androidx.test.espresso:espresso-core:3.1.1-alpha01") { exclude(group = "com.android.support", module = "support-annotations") } - testImplementation("junit:junit:4.13.2") + testImplementation(libs.junit) // Kotlin携程 implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.2") // Android Annotations @@ -299,14 +299,7 @@ dependencies { implementation("androidx.savedstate:savedstate-ktx:1.2.0") implementation("androidx.savedstate:savedstate:1.2.0") - val ktor_version = "2.0.3" - implementation("io.ktor:ktor-server-core:$ktor_version") - implementation("io.ktor:ktor-server-netty:$ktor_version") - implementation("io.ktor:ktor-server-websockets:$ktor_version") - implementation("io.ktor:ktor-client-websockets:$ktor_version") - implementation("io.ktor:ktor-client-okhttp:$ktor_version") - implementation("io.ktor:ktor-client-core:$ktor_version") - + implementation(libs.bundles.ktor) //qr scan implementation("io.github.g00fy2.quickie:quickie-bundled:1.5.0") //Fab button with menu, please do not upgrade, download dependencies will be error after upgrade diff --git a/autojs/build.gradle.kts b/autojs/build.gradle.kts index 39904c5f1..d1f99f66c 100644 --- a/autojs/build.gradle.kts +++ b/autojs/build.gradle.kts @@ -33,8 +33,8 @@ dependencies { androidTestImplementation("androidx.test.espresso:espresso-core:3.1.1-alpha01"){ exclude(group = "com.android.support",module = "support-annotations") } - testImplementation("junit:junit:4.13.2") - implementation("androidx.documentfile:documentfile:1.0.1") + testImplementation(libs.junit) + implementation(libs.documentfile) implementation("androidx.preference:preference-ktx:1.2.0") api("org.greenrobot:eventbus:3.3.1") api("net.lingala.zip4j:zip4j:1.3.2") @@ -45,7 +45,7 @@ dependencies { api("com.github.hyb1996:EnhancedFloaty:0.31") api("com.makeramen:roundedimageview:2.3.0") // OkHttp - api("com.squareup.okhttp3:okhttp:4.10.0") + api(libs.okhttp) // JDeferred api("org.jdeferred:jdeferred-android-aar:1.2.6") // RootShell diff --git a/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java b/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java deleted file mode 100644 index c5f64c405..000000000 --- a/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.stardust.autojs; - -import android.content.Context; -import androidx.annotation.Nullable; - -import com.stardust.autojs.engine.JavaScriptEngine; -import com.stardust.autojs.engine.ScriptEngine; -import com.stardust.autojs.engine.ScriptEngineManager; -import com.stardust.autojs.execution.ExecutionConfig; -import com.stardust.autojs.execution.LoopedBasedJavaScriptExecution; -import com.stardust.autojs.execution.RunnableScriptExecution; -import com.stardust.autojs.execution.ScriptExecuteActivity; -import com.stardust.autojs.execution.ScriptExecution; -import com.stardust.autojs.execution.ScriptExecutionListener; -import com.stardust.autojs.execution.ScriptExecutionObserver; -import com.stardust.autojs.execution.ScriptExecutionTask; -import com.stardust.autojs.execution.SimpleScriptExecutionListener; -import com.stardust.autojs.runtime.ScriptRuntime; -import com.stardust.autojs.runtime.api.Console; -import com.stardust.autojs.script.JavaScriptSource; -import com.stardust.autojs.script.ScriptSource; -import com.stardust.lang.ThreadCompat; -import com.stardust.util.UiHandler; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; - -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.Set; - -import static com.stardust.autojs.runtime.exception.ScriptInterruptedException.causedByInterrupted; - -/** - * Created by Stardust on 2017/1/23. - */ - -public class ScriptEngineService { - - private static final String LOG_TAG = "ScriptEngineService"; - private static final EventBus EVENT_BUS = new EventBus(); - private static final ScriptExecutionListener GLOBAL_LISTENER = new SimpleScriptExecutionListener() { - @Override - public void onStart(ScriptExecution execution) { - if (execution.getEngine() instanceof JavaScriptEngine) { - ((JavaScriptEngine) execution.getEngine()).getRuntime() - .console.setTitle(execution.getSource().getName(),"#ffffffff",-1); - } - EVENT_BUS.post(new ScriptExecutionEvent(ScriptExecutionEvent.ON_START, execution.getSource().toString())); - } - - @Override - public void onSuccess(ScriptExecution execution, Object result) { - onFinish(execution); - } - - private void onFinish(ScriptExecution execution) { - - } - - @Override - public void onException(ScriptExecution execution, Throwable e) { - e.printStackTrace(); - onFinish(execution); - String message = null; - if (!causedByInterrupted(e)) { - message = e.getMessage(); - if (execution.getEngine() instanceof JavaScriptEngine) { - ((JavaScriptEngine) execution.getEngine()).getRuntime() - .console.error(e); - } - } - if (execution.getEngine() instanceof JavaScriptEngine) { - JavaScriptEngine engine = (JavaScriptEngine) execution.getEngine(); - Throwable uncaughtException = engine.getUncaughtException(); - if (uncaughtException != null) { - engine.getRuntime().console.error(uncaughtException); - message = uncaughtException.getMessage(); - } - } - if (message != null) { - EVENT_BUS.post(new ScriptExecutionEvent(ScriptExecutionEvent.ON_EXCEPTION, message)); - } - } - - }; - - - private static ScriptEngineService sInstance; - private final Context mContext; - private UiHandler mUiHandler; - private final Console mGlobalConsole; - private final ScriptEngineManager mScriptEngineManager; - private final EngineLifecycleObserver mEngineLifecycleObserver = new EngineLifecycleObserver() { - - @Override - public void onEngineRemove(ScriptEngine engine) { - mScriptExecutions.remove(engine.getId()); - super.onEngineRemove(engine); - } - }; - private ScriptExecutionObserver mScriptExecutionObserver = new ScriptExecutionObserver(); - private LinkedHashMap mScriptExecutions = new LinkedHashMap<>(); - - ScriptEngineService(ScriptEngineServiceBuilder builder) { - mUiHandler = builder.mUiHandler; - mContext = mUiHandler.getContext(); - mScriptEngineManager = builder.mScriptEngineManager; - mGlobalConsole = builder.mGlobalConsole; - mScriptEngineManager.setEngineLifecycleCallback(mEngineLifecycleObserver); - mScriptExecutionObserver.registerScriptExecutionListener(GLOBAL_LISTENER); - EVENT_BUS.register(this); - mScriptEngineManager.putGlobal("context", mUiHandler.getContext()); - ScriptRuntime.setApplicationContext(builder.mUiHandler.getContext().getApplicationContext()); - } - - public Console getGlobalConsole() { - return mGlobalConsole; - } - - public void registerEngineLifecycleCallback(ScriptEngineManager.EngineLifecycleCallback engineLifecycleCallback) { - mEngineLifecycleObserver.registerCallback(engineLifecycleCallback); - } - - public void unregisterEngineLifecycleCallback(ScriptEngineManager.EngineLifecycleCallback engineLifecycleCallback) { - mEngineLifecycleObserver.unregisterCallback(engineLifecycleCallback); - } - - public boolean registerGlobalScriptExecutionListener(ScriptExecutionListener listener) { - return mScriptExecutionObserver.registerScriptExecutionListener(listener); - } - - public boolean unregisterGlobalScriptExecutionListener(ScriptExecutionListener listener) { - return mScriptExecutionObserver.removeScriptExecutionListener(listener); - } - - public ScriptExecution execute(ScriptExecutionTask task) { - ScriptExecution execution = executeInternal(task); - mScriptExecutions.put(execution.getId(), execution); - return execution; - } - - private ScriptExecution executeInternal(ScriptExecutionTask task) { - if (task.getListener() != null) { - task.setExecutionListener(new ScriptExecutionObserver.Wrapper(mScriptExecutionObserver, task.getListener())); - } else { - task.setExecutionListener(mScriptExecutionObserver); - } - ScriptSource source = task.getSource(); - if (source instanceof JavaScriptSource) { - int mode = ((JavaScriptSource) source).getExecutionMode(); - if ((mode & JavaScriptSource.EXECUTION_MODE_UI) != 0) { - return ScriptExecuteActivity.execute(mContext, mScriptEngineManager, task); - } - } - RunnableScriptExecution r; - if (source instanceof JavaScriptSource) { - r = new LoopedBasedJavaScriptExecution(mScriptEngineManager, task); - } else { - r = new RunnableScriptExecution(mScriptEngineManager, task); - } - new ThreadCompat(r).start(); - return r; - } - - public ScriptExecution execute(ScriptSource source, ScriptExecutionListener listener, ExecutionConfig config) { - return execute(new ScriptExecutionTask(source, listener, config)); - } - - public ScriptExecution execute(ScriptSource source, ExecutionConfig config) { - return execute(new ScriptExecutionTask(source, null, config)); - } - - @Subscribe - public void onScriptExecution(ScriptExecutionEvent event) { - if (event.getCode() == ScriptExecutionEvent.ON_START) { - mGlobalConsole.verbose(mContext.getString(R.string.text_start_running) + "[" + event.getMessage() + "]"); - } else if (event.getCode() == ScriptExecutionEvent.ON_EXCEPTION) { - mUiHandler.toast(mContext.getString(R.string.text_error) + ": " + event.getMessage()); - } - } - - public int stopAll() { - return mScriptEngineManager.stopAll(); - } - - - public void stopAllAndToast() { - int n = stopAll(); - if (n > 0) - mUiHandler.toast(String.format(mContext.getString(R.string.text_already_stop_n_scripts), n)); - } - - public Set getEngines() { - return mScriptEngineManager.getEngines(); - } - - public Collection getScriptExecutions() { - return mScriptExecutions.values(); - } - - @Nullable - public ScriptExecution getScriptExecution(int id) { - if (id == ScriptExecution.NO_ID) { - return null; - } - return mScriptExecutions.get(id); - } - - public static void setInstance(ScriptEngineService service) { - if (sInstance != null) { - throw new IllegalStateException(); - } - sInstance = service; - } - - public static ScriptEngineService getInstance() { - return sInstance; - } - - - private static class EngineLifecycleObserver implements ScriptEngineManager.EngineLifecycleCallback { - - private final Set mEngineLifecycleCallbacks = new LinkedHashSet<>(); - - @Override - public void onEngineCreate(ScriptEngine engine) { - synchronized (mEngineLifecycleCallbacks) { - for (ScriptEngineManager.EngineLifecycleCallback callback : mEngineLifecycleCallbacks) { - callback.onEngineCreate(engine); - } - } - } - - @Override - public void onEngineRemove(ScriptEngine engine) { - synchronized (mEngineLifecycleCallbacks) { - for (ScriptEngineManager.EngineLifecycleCallback callback : mEngineLifecycleCallbacks) { - callback.onEngineRemove(engine); - } - } - } - - void registerCallback(ScriptEngineManager.EngineLifecycleCallback callback) { - synchronized (mEngineLifecycleCallbacks) { - mEngineLifecycleCallbacks.add(callback); - } - - } - - void unregisterCallback(ScriptEngineManager.EngineLifecycleCallback callback) { - synchronized (mEngineLifecycleCallbacks) { - mEngineLifecycleCallbacks.remove(callback); - } - } - } - - - private static class ScriptExecutionEvent { - - static final int ON_START = 1001; - static final int ON_SUCCESS = 1002; - static final int ON_EXCEPTION = 1003; - - private final int mCode; - private final String mMessage; - - ScriptExecutionEvent(int code, String message) { - mCode = code; - mMessage = message; - } - - public int getCode() { - return mCode; - } - - public String getMessage() { - return mMessage; - } - } - -} diff --git a/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt b/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt new file mode 100644 index 000000000..c9dd42c20 --- /dev/null +++ b/autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt @@ -0,0 +1,251 @@ +package com.stardust.autojs + +import android.content.Context +import com.stardust.autojs.engine.JavaScriptEngine +import com.stardust.autojs.engine.ScriptEngine +import com.stardust.autojs.engine.ScriptEngineManager +import com.stardust.autojs.engine.ScriptEngineManager.EngineLifecycleCallback +import com.stardust.autojs.execution.ExecutionConfig +import com.stardust.autojs.execution.LoopedBasedJavaScriptExecution +import com.stardust.autojs.execution.RunnableScriptExecution +import com.stardust.autojs.execution.ScriptExecuteActivity.Companion.execute +import com.stardust.autojs.execution.ScriptExecution +import com.stardust.autojs.execution.ScriptExecutionListener +import com.stardust.autojs.execution.ScriptExecutionObserver +import com.stardust.autojs.execution.ScriptExecutionTask +import com.stardust.autojs.execution.SimpleScriptExecutionListener +import com.stardust.autojs.runtime.ScriptRuntime +import com.stardust.autojs.runtime.api.Console +import com.stardust.autojs.runtime.exception.ScriptInterruptedException +import com.stardust.autojs.script.JavaScriptSource +import com.stardust.autojs.script.ScriptSource +import com.stardust.lang.ThreadCompat +import com.stardust.util.UiHandler +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe + +/** + * Created by Stardust on 2017/1/23. + */ +class ScriptEngineService internal constructor(builder: ScriptEngineServiceBuilder) { + private val mContext: Context + private val mUiHandler: UiHandler + val globalConsole: Console + private val mScriptEngineManager: ScriptEngineManager + private val mEngineLifecycleObserver: EngineLifecycleObserver = + object : EngineLifecycleObserver() { + override fun onEngineRemove(engine: ScriptEngine<*>?) { + mScriptExecutions.remove(engine!!.id) + super.onEngineRemove(engine) + } + } + private val mScriptExecutionObserver = ScriptExecutionObserver() + private val mScriptExecutions = LinkedHashMap() + + init { + mUiHandler = builder.mUiHandler + mContext = mUiHandler.context + mScriptEngineManager = builder.mScriptEngineManager + globalConsole = builder.mGlobalConsole + mScriptEngineManager.setEngineLifecycleCallback(mEngineLifecycleObserver) + mScriptExecutionObserver.registerScriptExecutionListener(GLOBAL_LISTENER) + EVENT_BUS.register(this) + mScriptEngineManager.putGlobal("context", mUiHandler.context) + ScriptRuntime.setApplicationContext(builder.mUiHandler.context.applicationContext) + } + + fun registerEngineLifecycleCallback(engineLifecycleCallback: EngineLifecycleCallback) { + mEngineLifecycleObserver.registerCallback(engineLifecycleCallback) + } + + fun unregisterEngineLifecycleCallback(engineLifecycleCallback: EngineLifecycleCallback) { + mEngineLifecycleObserver.unregisterCallback(engineLifecycleCallback) + } + + fun registerGlobalScriptExecutionListener(listener: ScriptExecutionListener?): Boolean { + return mScriptExecutionObserver.registerScriptExecutionListener(listener) + } + + fun unregisterGlobalScriptExecutionListener(listener: ScriptExecutionListener?): Boolean { + return mScriptExecutionObserver.removeScriptExecutionListener(listener) + } + + fun execute(task: ScriptExecutionTask): ScriptExecution { + val execution = executeInternal(task) + mScriptExecutions[execution.id] = execution + return execution + } + + private fun executeInternal(task: ScriptExecutionTask): ScriptExecution { + if (task.listener != null) { + task.setExecutionListener( + ScriptExecutionObserver.Wrapper( + mScriptExecutionObserver, + task.listener + ) + ) + } else { + task.setExecutionListener(mScriptExecutionObserver) + } + val source = task.source + if (source is JavaScriptSource) { + val mode = source.executionMode + if (mode and JavaScriptSource.EXECUTION_MODE_UI != 0) { + return execute(mContext, mScriptEngineManager, task) + } + } + val r: RunnableScriptExecution = if (source is JavaScriptSource) { + LoopedBasedJavaScriptExecution(mScriptEngineManager, task) + } else { + RunnableScriptExecution(mScriptEngineManager, task) + } + ThreadCompat(r).start() + return r + } + + fun execute( + source: ScriptSource?, + listener: ScriptExecutionListener?, + config: ExecutionConfig? + ): ScriptExecution { + return execute(ScriptExecutionTask(source, listener, config)) + } + + fun execute(source: ScriptSource?, config: ExecutionConfig?): ScriptExecution { + return execute(ScriptExecutionTask(source, null, config)) + } + + @Subscribe + fun onScriptExecution(event: ScriptExecutionEvent) { + if (event.code == ScriptExecutionEvent.ON_START) { + globalConsole.verbose(mContext.getString(R.string.text_start_running) + "[" + event.message + "]") + } else if (event.code == ScriptExecutionEvent.ON_EXCEPTION) { + mUiHandler.toast(mContext.getString(R.string.text_error) + ": " + event.message) + } + } + + fun stopAll(): Int { + return mScriptEngineManager.stopAll() + } + + fun stopAllAndToast() { + val n = stopAll() + if (n > 0) mUiHandler.toast( + String.format( + mContext.getString(R.string.text_already_stop_n_scripts), + n + ) + ) + } + + val engines: Set> + get() = mScriptEngineManager.engines + val scriptExecutions: Collection + get() = mScriptExecutions.values + + fun getScriptExecution(id: Int): ScriptExecution? { + return if (id == ScriptExecution.NO_ID) { + null + } else mScriptExecutions[id] + } + + private open class EngineLifecycleObserver : EngineLifecycleCallback { + private val mEngineLifecycleCallbacks: MutableSet = LinkedHashSet() + override fun onEngineCreate(engine: ScriptEngine<*>?) { + synchronized(mEngineLifecycleCallbacks) { + for (callback in mEngineLifecycleCallbacks) { + callback.onEngineCreate(engine) + } + } + } + + override fun onEngineRemove(engine: ScriptEngine<*>?) { + synchronized(mEngineLifecycleCallbacks) { + for (callback in mEngineLifecycleCallbacks) { + callback.onEngineRemove(engine) + } + } + } + + fun registerCallback(callback: EngineLifecycleCallback) { + synchronized(mEngineLifecycleCallbacks) { mEngineLifecycleCallbacks.add(callback) } + } + + fun unregisterCallback(callback: EngineLifecycleCallback) { + synchronized(mEngineLifecycleCallbacks) { mEngineLifecycleCallbacks.remove(callback) } + } + } + + class ScriptExecutionEvent internal constructor(val code: Int, val message: String) { + + companion object { + const val ON_START = 1001 + const val ON_SUCCESS = 1002 + const val ON_EXCEPTION = 1003 + } + } + + companion object { + private const val LOG_TAG = "ScriptEngineService" + private val EVENT_BUS = EventBus() + private val GLOBAL_LISTENER: ScriptExecutionListener = + object : SimpleScriptExecutionListener() { + override fun onStart(execution: ScriptExecution) { + if (execution.engine is JavaScriptEngine) { + (execution.engine as JavaScriptEngine).runtime.console.setTitle( + execution.source.name, + "#ffffffff", + -1 + ) + } + EVENT_BUS.post( + ScriptExecutionEvent( + ScriptExecutionEvent.ON_START, + execution.source.toString() + ) + ) + } + + override fun onSuccess(execution: ScriptExecution, result: Any?) { + onFinish(execution) + } + + private fun onFinish(execution: ScriptExecution) {} + override fun onException(execution: ScriptExecution, e: Throwable) { + e.printStackTrace() + onFinish(execution) + var message: String? = null + if (!ScriptInterruptedException.causedByInterrupted(e)) { + message = e.message + if (execution.engine is JavaScriptEngine) { + (execution.engine as JavaScriptEngine).runtime.console.error(e) + } + } + if (execution.engine is JavaScriptEngine) { + val engine = execution.engine as JavaScriptEngine + val uncaughtException = engine.uncaughtException + if (uncaughtException != null) { + engine.runtime.console.error(uncaughtException) + message = uncaughtException.message + } + } + if (message != null) { + EVENT_BUS.post( + ScriptExecutionEvent( + ScriptExecutionEvent.ON_EXCEPTION, + message + ) + ) + } + } + } + private var sInstance: ScriptEngineService? = null + @JvmStatic + var instance: ScriptEngineService? + get() = sInstance + set(service) { + check(sInstance == null) + sInstance = service + } + } +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 85b806fa5..e7a1b95e2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,6 @@ initVersions(file("project-versions.json")) // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - val kotlin_version = "1.6.21" extra.apply { set("kotlin_version", kotlin_version) diff --git a/buildSrc/src/main/kotlin/Version.kt b/buildSrc/src/main/kotlin/Version.kt index 6eba28640..dd6ea1ade 100644 --- a/buildSrc/src/main/kotlin/Version.kt +++ b/buildSrc/src/main/kotlin/Version.kt @@ -5,6 +5,7 @@ import java.io.File lateinit var versions: Versions private set +val kotlin_version = "1.6.21" val compose_version = "1.2.0-rc01" fun initVersions(file: File) { diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts deleted file mode 100644 index 286726c15..000000000 --- a/dependencies.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -dependencyResolutionManagement { - versionCatalogs { - create("libs") { - library("okhttp", "com.squareup.okhttp3:okhttp:4.10.0") - } - } -} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 000000000..8a52659af --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,23 @@ +[versions] +core-ktx = "1.8.0" +junit = "4.13.2" +okhttp = "4.10.0" +ktor-version = "2.0.3" + +[libraries] +core-ktx = { module = "androidx.core:core-ktx", version.ref = "core-ktx" } +documentfile = "androidx.documentfile:documentfile:1.0.1" +junit = { module = "junit:junit", version.ref = "junit" } +okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } +# ktor +ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "ktor-version" } +ktor-server-netty = { module = "io.ktor:ktor-server-netty", version.ref = "ktor-version" } +ktor-server-websockets = { module = "io.ktor:ktor-server-websockets", version.ref = "ktor-version" } +ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor-version" } +ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor-version" } +ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor-version" } + +[plugins] + +[bundles] +ktor = ["ktor-server-core", "ktor-server-netty", "ktor-server-websockets", "ktor-client-websockets", "ktor-client-okhttp", "ktor-client-core"] \ No newline at end of file diff --git a/paddleocr/build.gradle.kts b/paddleocr/build.gradle.kts index f03e0377f..03ca299c1 100644 --- a/paddleocr/build.gradle.kts +++ b/paddleocr/build.gradle.kts @@ -31,7 +31,7 @@ android { dependencies { implementation(libs.okhttp) - implementation("androidx.core:core-ktx:1.8.0") + implementation(libs.core.ktx) } dependencies { testImplementation( "junit:junit:4.13.2") diff --git a/settings.gradle b/settings.gradle index 6cc027ecf..d079b4902 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,4 @@ -apply { - from(file("dependencies.gradle.kts")) -} + include ':app', ':automator', ':common', ':autojs', ':inrt', ':apkbuilder' include ':LocalRepo:libtermexec' include ':LocalRepo:emulatorview' diff --git a/version.json b/version.json deleted file mode 100644 index 16f5d9701..000000000 --- a/version.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "versionCode": 163, - "versionName": "2.0.16 Beta2", - "releaseNotes": "* 优化root录制,录制脚本接近完美,可自行录制游戏脚本\n* 提高部分脚本的运行速度\n* 新增 按键事件、通知事件监听\n*修复 一些问题", - "downloads" : [ - { - "name": "应用宝", - "url": "http://a.app.qq.com/o/simple.jsp?pkgname=org.autojs.autojs" - }, - { - "name": "百度手机助手", - "url": "http://shouji.baidu.com/software/22060055.html" - } - ], - "oldVersions": [ - { - "versionCode": 115, - "issues": "[测试] 当前版本为Beta版本,问题很多,请尽快更新正式版" - }, - { - "versionCode": "116", - "issues": "[测试] 当前版本为Beta版本,请尽快更新正式版" - } - ], - "deprecated": 116 -} \ No newline at end of file