大佬教程收集整理的这篇文章主要介绍了使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_419_0@现有的Js文件有十多个,它们在互相调用。
@H_419_0@当我编写单个测试Js文件并执行代码时,它运行良好,但当我想运行实际Js文件时,它抛出异常并退出应用程序。@H_419_0@使用j2v8的代码如下所示:
V8 runtime = V8.createV8Runtime();
String JsContent = getfileContent("security/security.Js",this.getBaseContext());
runtime.executeModule(JsContent,"","file:///androID_asset/security/");
Object obj = runtime.executeJsFunction("initPrepare");
@H_419_0@应用在运行 executeModule 方法时退出,我尝试了 executeScript 和 executeVoIDScript 方法,都失败了。@H_419_0@错误信息如下所示:
D/AndroIDRuntime: ShutTing down VM
E/AndroIDRuntime: FATAL EXCEPTION: main
Process: com.example.testapplication,PID: 26701
java.lang.IllegalStateException: Could not execute method for androID:onClick
at androIDx.appcompat.app.AppCompatVIEwInflater$DeclaredOnClicklistener.onClick(AppCompatVIEwInflater.java:414)
at androID.vIEw.VIEw.performClick(VIEw.java:7125)
at androID.vIEw.VIEw.performClickInternal(VIEw.java:7102)
at androID.vIEw.VIEw.access$3500(VIEw.java:801)
at androID.vIEw.VIEw$PerformClick.run(VIEw.java:27336)
at androID.os.Handler.handleCallBACk(Handler.java:883)
at androID.os.Handler.dispatchmessage(Handler.java:100)
at androID.os.Looper.loop(Looper.java:214)
at androID.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.androID.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androIDx.appcompat.app.AppCompatVIEwInflater$DeclaredOnClicklistener.onClick(AppCompatVIEwInflater.java:409)
at androID.vIEw.VIEw.performClick(VIEw.java:7125)
at androID.vIEw.VIEw.performClickInternal(VIEw.java:7102)
at androID.vIEw.VIEw.access$3500(VIEw.java:801)
at androID.vIEw.VIEw$PerformClick.run(VIEw.java:27336)
at androID.os.Handler.handleCallBACk(Handler.java:883)
at androID.os.Handler.dispatchmessage(Handler.java:100)
at androID.os.Looper.loop(Looper.java:214)
at androID.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.androID.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: file:///androID_asset/security/:1: SyntaxError: CAnnot use import statement outsIDe a module
import * as Crypto from "./jahport-crypto-wrapper.Js";
^^^^^^
com.eclipsesource.v8.V8ScriptCompilationException
at com.eclipsesource.v8.V8._executeScript(Native Method)
at com.eclipsesource.v8.V8.executeScript(V8.java:1134)
at com.eclipsesource.v8.V8.executeModule(V8.java:737)
at com.example.testapplication.MainActivity.JsTest(MainActivity.java:72)
... 13 more
I/Process: Sending signal. PID: 26701 SIG: 9
disconnected from the target VM,address: 'localhost:63197',transport: 'socket'
@H_419_0@我在谷歌搜索过错误信息,我能找到的所有答案都是在标签中添加“type=module”,但我使用的是一个Js文件,它没有标签。@H_419_0@谁能帮我解决这个问题?任何使用或不使用 j2v8 解决此问题的方法,无论如何,我只想在我的应用程序中运行 Js 文件。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句全部内容,希望文章能够帮你解决使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。