xamarin / AndroidSupportComponents

Xamarin bindings for Android Support libraries - For AndroidX see https://github.com/xamarin/AndroidX
MIT License
146 stars 56 forks source link

Java.Lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$drawable" on path: DexPathList #128

Closed Immons closed 5 years ago

Immons commented 5 years ago

Xamarin.Android Version (eg: 6.0):

9.0

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

macOS 10.14

Support Libraries Version (eg: 23.3.0):

27.0.2.1 or 28.0.0-preview7 or 28.0.0-preview8

Describe your Issue:

When using latest Xamarin.Android with support libraries 27.0.2.1 there is crash in "OnCreate" (strack trace below).

When using latest Xamarin.Android with support libraries 28.0.0 in both previews there is problem with "Theme.AppCompat.Light couldn't be found" if target framework version is 28.

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

Update Visual Studio and all monos to latest alpha/beta/stable. Add project targeting API 28. Add support libraries. Use Theme.AppCompat.Light Run App.

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


   --- End of inner exception stack trace ---
  at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <0ad2222fd7074badb5de547b1521aab0>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <0ad2222fd7074badb5de547b1521aab0>:0 
  at Android.App.Activity.OnCreate (Android.OS.Bundle savedInstanceState) [0x00031] in <2530aa2e412d4754af3ae7e1a8c80b6d>:0 
  at MvvmCross.Droid.Support.V7.AppCompat.EventSource.MvxEventSourceAppCompatActivity.OnCreate (Android.OS.Bundle bundle) [0x0000d] in D:\git\MvvmCross\MvvmCross-AndroidSupport\MvvmCross.Droid.Support.V7.AppCompat\EventSource\MvxEventSourceAppCompatActivity.cs:34 
  at MvvmCross.Droid.Support.V7.AppCompat.MvxAppCompatActivity.OnCreate (Android.OS.Bundle bundle) [0x00000] in D:\git\MvvmCross\MvvmCross-AndroidSupport\MvvmCross.Droid.Support.V7.AppCompat\MvxAppCompatActivity.cs:90 
  at TakeTask.Droid.Activities.Base.BaseApplicationMvxActivity`2[TViewModel,TInitParams].<>n__0 (Android.OS.Bundle bundle) <0x7f634b76d8 + 0x00043> in <90391eb7f8c44cf8a8c9cc3dd5780076>:0 
  at TakeTask.Droid.Activities.Base.BaseApplicationMvxActivity`2+<OnCreate>d__20[TViewModel,TInitParams].MoveNext () [0x00053] in /Users/immons/Projekty/TakeTask/TakeTask/TakeTask.Droid/Activities/Base/BaseApplicationMvxActivity.cs:74 
  --- End of managed Java.Lang.NoClassDefFoundError stack trace ---
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$drawable;
    at android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:107)
    at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85)
    at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:128)
    at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149)
    at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29)
    at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54)
    at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:31)
    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:200)
    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:183)
    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
    at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70)
    at md5f29ffb728c5140e47816988ccec0ba5b.BaseApplicationMvxActivity_2.n_onCreate(Native Method)
    at md5f29ffb728c5140e47816988ccec0ba5b.BaseApplicationMvxActivity_2.onCreate(BaseApplicationMvxActivity_2.java:39)
    at android.app.Activity.performCreate(Activity.java:6372)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2432)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539)
    at android.app.ActivityThread.access$900(ActivityThread.java:168)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:150)
    at android.app.ActivityThread.main(ActivityThread.java:5665)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$drawable" on path: DexPathList[[zip file "/data/app/com.insanelab.taketask-1/base.apk"],nativeLibraryDirectories=[/data/app/com.insanelab.taketask-1/lib/arm64, /data/app/com.insanelab.taketask-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    ... 25 more
    Suppressed: java.lang.ClassNotFoundException: android.support.v7.appcompat.R$drawable
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
        ... 26 more
    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
}
    base: {Java.Lang.LinkageError}
    JniPeerMembers: {Android.Runtime.XAPeerMembers}
    Static members: 
    Non-public members: ```
Redth commented 5 years ago

I suspect this has something to do with MVX, not the support libraries themselves. I can't reproduce this with a single activity app using the Theme.AppCompat.Light.

I suggest you file an issue with MVX.

Redth commented 5 years ago

We are closing this issue since no response was received. Please open a new issue referring to this one if you have more information.