Skip to content
This repository was archived by the owner on Jun 20, 2023. It is now read-only.
This repository was archived by the owner on Jun 20, 2023. It is now read-only.

v28.0.0.1 : Xamarin.Android Designer, Java ClassNotFound Exception with Support Widgets #163

Open
@HakanCelikMK1

Description

@HakanCelikMK1

Xamarin.Android Version:

Xamarin 4.12.3.81 (d15-9@780082716)
Xamarin Designer 4.16.13 (45a16efd4)
Xamarin.Android SDK 9.1.7.0 (HEAD/ba9da7a76)

Operating System & Version (eg: Mac OSX 10.11):

Microsoft Windows 10 Enterprise x64 (10.0.17134 Build 17134)

Visual Studio Version

Microsoft Visual Studio Community 2017 (Version 15.9.10)
VisualStudio.15.Release/15.9.10+28307.557

Support Libraries Version (eg: 23.3.0):

28.0.0.1

Describe your Issue:

I've started to get java.lang.ClassNotFoundExceptions in the Xamarin.Android designer for the widgets in Android.Support.V7.Widget (for example SwitchCompat) after I upgraded to v28.0.0.1.

When I reverted back to v27.0.2.1 this problem disappeared.

Steps to Reproduce (with link to sample solution if possible):

  • Upgrade to 28.0.0.1
  • Open an Android Layout containing a widget from support library
  • Designer will show an error box in the place of the widget
  • Click show error
  • A java.lang.ClassNotFoundException stack trace will be displayed

Steps to Resolve:

  • Close the solution in Visual Studio
  • Revert references back to v27.0.2.1 by editing the .csproj file
  • Delete bin and obj folders
  • Open the solution in Visual Studio
  • Do a full rebuild

Also, I've checked the issue #140. The solution mentioned there also seems to solve my issue too.
I've changed TargetFrameworkVersion from v9.0 to v8.1 and designer seems to work OK so far.
If it is an option for you too, this could be your solution for the time being.

Include any relevant Exception Stack traces, build logs, adb logs:

C:\Users\xxxxx\AppData\Local\Xamarin\Logs\15.0\AndroidDesigner-2019-03-28__12-28-42.6368.log

[2019-03-28 12:29:04.5] Renderer >> 4 [monodroid] SWITCHING CONTEXT [2019-03-28 12:29:04.5] Renderer >> INFO: Trying to load class android.support.v7.widget.SwitchCompat [2019-03-28 12:29:04.5] Renderer >> [2019-03-28 12:29:04.5] Renderer >> TODO: getParser2 [2019-03-28 12:29:04.5] Renderer >> TODO: getParser2 [2019-03-28 12:29:04.5] Renderer >> ERROR: An exception occured while loading control android.support.v7.widget.SwitchCompat [2019-03-28 12:29:04.5] Renderer >> ERROR: java.lang.reflect.InvocationTargetException [2019-03-28 12:29:04.5] Renderer >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [2019-03-28 12:29:04.5] Renderer >> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [2019-03-28 12:29:04.5] Renderer >> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [2019-03-28 12:29:04.5] Renderer >> at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [2019-03-28 12:29:04.5] Renderer >> at mono.android.SessionProjectCallback.instantiateClass(SessionProjectCallback.java:404) [2019-03-28 12:29:04.5] Renderer >> at mono.android.SessionProjectCallback.loadView(SessionProjectCallback.java:204) [2019-03-28 12:29:04.5] Renderer >> at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:337) [2019-03-28 12:29:04.5] Renderer >> at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:348) [2019-03-28 12:29:04.5] Renderer >> at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:248) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:863) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.rInflate(LayoutInflater.java:837) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:866) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.rInflate(LayoutInflater.java:837) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.inflate(LayoutInflater.java:515) [2019-03-28 12:29:04.5] Renderer >> at android.view.LayoutInflater.inflate(LayoutInflater.java:394) [2019-03-28 12:29:04.5] Renderer >> at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325) [2019-03-28 12:29:04.5] Renderer >> at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384) [2019-03-28 12:29:04.5] Renderer >> at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:270) [2019-03-28 12:29:04.5] Renderer >> at mono.android.DesignerSession.load(DesignerSession.java:307) [2019-03-28 12:29:04.5] Renderer >> at mono.android.DesignerSession.processMessage(DesignerSession.java:675) [2019-03-28 12:29:04.5] Renderer >> at mono.android.MessageListener.executeMessage(MessageListener.java:88) [2019-03-28 12:29:04.5] Renderer >> at mono.android.MessageListener$Runner.run(MessageListener.java:44) [2019-03-28 12:29:04.5] Renderer >> at java.lang.Thread.run(Thread.java:748) [2019-03-28 12:29:04.5] Renderer >> Caused by: java.lang.NoClassDefFoundError: android/view/View$OnUnhandledKeyEventListener [2019-03-28 12:29:04.5] Renderer >> at android.support.v7.widget.SwitchCompat.setChecked(SwitchCompat.java:1066) [2019-03-28 12:29:04.5] Renderer >> at android.widget.CompoundButton.<init>(CompoundButton.java:117) [2019-03-28 12:29:04.5] Renderer >> at android.widget.CompoundButton.<init>(CompoundButton.java:90) [2019-03-28 12:29:04.5] Renderer >> at android.support.v7.widget.SwitchCompat.<init>(SwitchCompat.java:218) [2019-03-28 12:29:04.5] Renderer >> at android.support.v7.widget.SwitchCompat.<init>(SwitchCompat.java:204) [2019-03-28 12:29:04.5] Renderer >> ... 28 more [2019-03-28 12:29:04.5] Renderer >> Caused by: java.lang.ClassNotFoundException [2019-03-28 12:29:04.5] Renderer >> at mono.android.LibraryClassLoader.loadAndConvertClass(LibraryClassLoader.java:89) [2019-03-28 12:29:04.5] Renderer >> at mono.android.LibraryClassLoader.findClass(LibraryClassLoader.java:57) [2019-03-28 12:29:04.5] Renderer >> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [2019-03-28 12:29:04.5] Renderer >> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [2019-03-28 12:29:04.5] Renderer >> ... 33 more

Metadata

Metadata

Assignees

Labels

investigatingCurrently investigating issue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions