Java 如何使用J2V8在Android中使用NodeJS
我已经使用库为android创建了代码,用于在android mobile中执行nodejs脚本。但当我运行应用程序时,它会给我错误 梯度依赖 代码 错误 请帮我解决这个错误Java 如何使用J2V8在Android中使用NodeJS,java,android,node.js,j2v8,Java,Android,Node.js,J2v8,我已经使用库为android创建了代码,用于在android mobile中执行nodejs脚本。但当我运行应用程序时,它会给我错误 梯度依赖 代码 错误 请帮我解决这个错误 正常V8发动机工作正常,但高于createNodeJS时出现错误 V8 v8 = V8.createV8Runtime() 根本原因 J2V8库包含一个JAR和一个包含v8引擎的本机库。在您的情况下,JNI本机库未使用-D NODE_COMPATIBLE=1选项编译,因此会出现以下错误: java.lang.Runti
正常V8发动机工作正常,但高于
createNodeJS
时出现错误
V8 v8 = V8.createV8Runtime()
根本原因
J2V8库包含一个JAR和一个包含v8引擎的本机库。在您的情况下,JNI本机库未使用-D NODE_COMPATIBLE=1
选项编译,因此会出现以下错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{in.asissuthar.lion/in.asissuthar.lion.ConsoleActivity}: java.lang.UnsupportedOperationException: StartNodeJS Not Supported.
这可以通过查看J2V8代码来断言。我在下面添加了一个片段:
#ifndef NODE_COMPATIBLE
(env)->ThrowNew(unsupportedOperationExceptionCls, "StartNodeJS Not Supported.");
#endif
可能的解决方案:
-D NODE\u COMPATIBLE=1
选项重新编译JNI源代码。源代码可在我认为您需要linux环境。如果你真的不担心建造自己的房子,你可以试试这个。J2V8的构建系统即将得到显著改进。它为android提供了开箱即用的配置,包括Node。见:
V8 v8 = V8.createV8Runtime()
java.lang.RuntimeException: Unable to start activity ComponentInfo{in.asissuthar.lion/in.asissuthar.lion.ConsoleActivity}: java.lang.UnsupportedOperationException: StartNodeJS Not Supported.
#ifndef NODE_COMPATIBLE
(env)->ThrowNew(unsupportedOperationExceptionCls, "StartNodeJS Not Supported.");
#endif