From 9b6dfe15debb7217aaa8b24e8b2e98d2deb777e2 Mon Sep 17 00:00:00 2001 From: lushunming <1357197829@qq.com> Date: Sat, 17 Aug 2024 16:14:49 +0800 Subject: [PATCH] quickjs --- app/build.gradle | 9 +++++- app/src/test/java/CompileJSTest.java | 42 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 app/src/test/java/CompileJSTest.java diff --git a/app/build.gradle b/app/build.gradle index d462c6db..715789e5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,9 @@ android { applicationId "com.github.catvod.demo" minSdk 16 targetSdk 34 + ndk { abiFilters "arm64-v8a" } + + } buildTypes { @@ -54,7 +57,7 @@ android { dependencies { implementation 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3' implementation 'com.github.thegrizzlylabs:sardine-android:0.9' - implementation 'wang.harlon.quickjs:wrapper-android:0.21.1' + implementation 'wang.harlon.quickjs:wrapper-android:2.0.0' implementation 'com.squareup.okhttp3:okhttp:3.12.13' implementation 'com.google.code.gson:gson:2.11.0' implementation 'cn.wanghaomiao:JsoupXpath:2.5.1' @@ -68,5 +71,9 @@ dependencies { // Optional -- Mockito framework(可选,用于模拟一些依赖对象,以达到隔离依赖的效果) testImplementation 'org.mockito:mockito-core:5.12.0' testImplementation "org.robolectric:robolectric:4.13" + //implementation 'wang.harlon.quickjs:wrapper-java:1.0.0' + // implementation(ext: 'aar', name: 'quickjs', group: 'fongmi', version: 'release') + // api 'wang.harlon.quickjs:wrapper-android:2.0.0' + } \ No newline at end of file diff --git a/app/src/test/java/CompileJSTest.java b/app/src/test/java/CompileJSTest.java new file mode 100644 index 00000000..ad010437 --- /dev/null +++ b/app/src/test/java/CompileJSTest.java @@ -0,0 +1,42 @@ +import android.app.Application; + +import com.github.catvod.net.OkHttp; +import com.github.catvod.spider.ChangZhang; +import com.github.catvod.spider.Init; +import com.github.catvod.utils.Util; +import com.whl.quickjs.android.QuickJSLoader; +import com.whl.quickjs.wrapper.QuickJSContext; + +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.RuntimeEnvironment; + +@RunWith(RobolectricTestRunner.class) +public class CompileJSTest { + // @Mock + private Application mockContext; + + private ChangZhang spider; + QuickJSContext context; + + @org.junit.Before + public void setUp() throws Exception { + QuickJSLoader.init(); + mockContext = RuntimeEnvironment.application; + Init.init(mockContext); + context = QuickJSContext.create(); + + + } + + @org.junit.Test + public void homeContent() throws Exception { + String content = OkHttp.string("https://androidcatvodspider.pages.dev/json/js/newvision.js"); + byte[] bytes = context.compileModule(content, "newvision.js"); + String result = "//bb" + Util.base64Encode(bytes); + + //Assert.assertFalse(map.getAsJsonArray("list").isEmpty()); + } + + +} \ No newline at end of file