当我创建一个 axml 文件并尝试在 android 布局的设计器 View 中打开它时,我收到以下错误消息:
"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
Exception in thread "main"
到目前为止,我尝试做的是重新安装 Java JDK,将其从 1.7 升级到 1.8 以及降级,始终使用 64 位版本。尝试引入环境变量 _JAVA_OPTIONS 并更改它的值为 -XX:MaxPermSize=256m,但没有帮助。
还有其他解决方案,但它们仅适用于 iOS 上的 xamarin studio,因为我在 windows 上使用 xamarin 与 Visual Studio 2015 集成,所以它们不适用。
所以我的问题是,这个问题有什么解决办法吗?
P.S 如果我没有提供足够的信息或不清楚,请指出。
谢谢。
2019 年 5 月 30 日更新 可能有点太晚了,但是我在过去通过匹配 Java 和 Android sdk 版本设法解决了这个问题。似乎一个版本的 java 对特定的 android sdk 版本不太满意,反之亦然,所以尝试安装另一个版本直到它们匹配。
最佳答案
你好,
我遇到这个问题有一段时间了,并按照 xamarin 论坛上的说明设法修复了它。所以我所做的是
- 卸载所有 1.8 之前的 java 和 java sdk,只保留 1.8
- 将 MaxPermSize 的环境变量添加到 250m
- 重新启动窗口
- 如下所示更改了注册表值
但我不得不承认这只在几天内有效。然后我再次收到同样的错误并得到另一个解决方案
我一直在使用 VS2015,但我在 Android Studio 中设计的用户界面将代码从 Android Studio 复制到 VS2015。我知道这不是解决方案,但我拒绝在一直出现的 xamarin 错误上花费更多时间。
更新:我已经发布了一个解决我问题的答案 Xamarin VS2015 designer not working
关于c# - Xamarin:在android中加载布局axml文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39549635/