flashdevelop 构建错误:无法初始化 jni4net。 (32 位与 64 位 JVM 与 CLR ?)

Posted

技术标签:

【中文标题】flashdevelop 构建错误:无法初始化 jni4net。 (32 位与 64 位 JVM 与 CLR ?)【英文标题】:flashdevelop built error: Can't initialize jni4net. (32bit vs 64bit JVM vs CLR ?) 【发布时间】:2017-02-18 00:58:27 【问题描述】:

我在我的 PC 上重新安装了 Windows,之后 flashdevelop 在构建时开始抛出错误。应用程序启动几秒钟,然后关闭。 输出:

Error details: net.sf.jni4net.jni.JNIException: Can't initialize jni4net. (32bit vs 64bit JVM vs CLR ?)
CLR architecture: 64bit
JAVA_HOME: C:\Program Files (x86)\Java\jre6 ---> System.BadImageFormatException: . (Exception from HRESULT: 0x8007000B)
   in net.sf.jni4net.jni.JNI.Dll.JNI_GetDefaultJavaVMInitArgs(JavaVMInitArgs* args)
   in net.sf.jni4net.jni.JNI.Init()

   in net.sf.jni4net.jni.JNI.Init()
   in net.sf.jni4net.jni.JNI.CreateJavaVM(JavaVM& jvm, JNIEnv& env, Boolean attachIfExists, String[] options)
   in net.sf.jni4net.Bridge.CreateJVM()
   in FlashDebugger.DebuggerManager.Start(Boolean alwaysStart)

我已经安装了所有必要的软件和 SDK。 Flex+Air,java 1.7 32bit,flashplayer。 但没有任何帮助。不仅如此,当 flashdevelop 打开时,插件也会出现一些错误。

搜索没有帮助。我没有发现这个问题。 需要帮助(

【问题讨论】:

【参考方案1】:

因为你的JVM和CLR架构不匹配,你的CLR架构是64位,而你的Java架构是32位,要解决这个问题,你需要安装64位Java

【讨论】:

【参考方案2】:

1) 如果您的系统运行的是 64 位操作系统,那么您必须安装 64 位版本的 java 2) 如果您的系统运行的是 64 位操作系统,并且您已经安装了 32 位版本的 java,那么您可以使用以下工具更改“proxygen.exe”应用程序的 CorFlags 值。

更改 CorFlags 的命令:“C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\Corflags.exe” proxygen.exe /32BIT+ /force

参考:https://docs.microsoft.com/en-us/dotnet/framework/tools/corflags-exe-corflags-conversion-tool

【讨论】:

以上是关于flashdevelop 构建错误:无法初始化 jni4net。 (32 位与 64 位 JVM 与 CLR ?)的主要内容,如果未能解决你的问题,请参考以下文章

FlashDevelop 使用问题解决

如何使用 FlashDevelop 调试 Flash IDE AIR 3.4 桌面应用程序?

Cloud Function 构建错误 - 无法从配置文件获取映像的操作系统

用于游戏开发的 flashdevelop

FlashDevelop / Haxe - 如何选择项目类型

Pyomo 无法在抽象 Set 构建之前对其进行迭代