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 调试 Flash IDE AIR 3.4 桌面应用程序?
Cloud Function 构建错误 - 无法从配置文件获取映像的操作系统