连接到布局渲染器失败

Connection to the layout renderer failed

Android 和 Visual Studio 2015。我为 Visual Studio 更新了 Xamarin,现在由于这个错误我看不到我的 axml 文件。

Connection to the layout renderer failed. this may be caused by a misconfiguration of java. java.lang.NoClassDefFoundError: com/android/utils/ILogger at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: com.android.utils.ILogger at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more Error: A JNI error has occurred, please check your installation and try again Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0 Picked up _JAVA_OPTIONS: -XX:MaxPermSize=256m Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 Exception in thread "main"

我的 SdkManager 是最新的,我还安装了 java jdk 版本 1.8(64 位)并卸载了旧版本。我尝试了这个 forum 的解决方案,但对我没有用。

看来我终于找到了解决方案并想分享答案。

Xamarin 对 Java JDK 版本有点敏感。正如在网站上发现的那样,我们应该始终使用 Java JDK 1.7,但只有 32 位版本(即使您使用的是 64 位 Windows)。这是他们页面link

https://developer.xamarin.com/guides/android/getting_started/installation/windows/manual_installation/

因此,就我而言,我尝试了很多解决方案,以下是有效的方法:

通过控制面板>卸载程序卸载所有java和java sdk 仅安装 java sdk 1.7 32 位(Java SE 开发工具包 7u79)和 java 1.7(从 sdk 安装程序安装) 关闭 Visual Studio 从 windows 打开 Android SDK 管理器 删除 Android SDK 工具和 Android SDK Platform-tools 安装 Android SDK 工具和 Android SDK Platform-tools 关闭 Android SDK Manager(应用程序本身会要求重新启动) 添加Java_Home和JDK_Home环境变量如下图(我认为Java_Home可以避免,但还没有测试过)