程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句?

开发过程中遇到使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句的解决方法建议,希望对你解决使用 J2V8 时出现异常:语法错误:无法在模块外使用导入语句有所启发或帮助; @H_419_0@我想在我的 androID 应用程序中使用 j2v8 来运行用 Js 编写的现有代码。

@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 方法时退出,我尝试了 executeScriptexecuteVoIDScript 方法,都失败了。

@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,请注明来意。