ClassNotFoundException: Didn't find class “android.support.design.R$styleable”

匿名 (未验证) 提交于 2019-12-03 01:23:02

问题:

Hi I am using NavigationView but I am getting error, below is my xml, I have already included android support and v7 library

project.properties as I am not using Android studio

target=android-22 android.library.reference.1=../android-support-v7-appcompat android.library.reference.2=../design   

and below is my stacktrace

06-21 06:24:12.799: E/AndroidRuntime(4913): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.toxic.apps.kodi/com.toxic.apps.kodi.Activities.MainActivity}: android.view.InflateException: Binary XML file line #30: Error inflating class android.support.design.widget.NavigationView 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.ActivityThread.access$800(ActivityThread.java:144) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.os.Handler.dispatchMessage(Handler.java:102) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.os.Looper.loop(Looper.java:135) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.ActivityThread.main(ActivityThread.java:5221) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at java.lang.reflect.Method.invoke(Native Method) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at java.lang.reflect.Method.invoke(Method.java:372) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: android.view.InflateException: Binary XML file line #30: Error inflating class android.support.design.widget.NavigationView 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.createView(LayoutInflater.java:633) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at com.toxic.apps.kodi.Activities.AbstractBaseActivity.setContentView(AbstractBaseActivity.java:33) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at com.toxic.apps.kodi.Activities.MainActivity.onCreate(MainActivity.java:35) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.Activity.performCreate(Activity.java:5933) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 06-21 06:24:12.799: E/AndroidRuntime(4913):     ... 10 more 06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: java.lang.reflect.InvocationTargetException 06-21 06:24:12.799: E/AndroidRuntime(4913):     at java.lang.reflect.Constructor.newInstance(Native Method) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.view.LayoutInflater.createView(LayoutInflater.java:607) 06-21 06:24:12.799: E/AndroidRuntime(4913):     ... 22 more 06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/design/R$styleable; 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.support.design.internal.ScrimInsetsFrameLayout.(ScrimInsetsFrameLayout.java:54) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.support.design.widget.NavigationView.(NavigationView.java:92) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at android.support.design.widget.NavigationView.(NavigationView.java:88) 06-21 06:24:12.799: E/AndroidRuntime(4913):     ... 25 more 06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.R$styleable" on path: DexPathList[[zip file "/data/app/com.toxic.apps.kodi-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 06-21 06:24:12.799: E/AndroidRuntime(4913):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 06-21 06:24:12.799: E/AndroidRuntime(4913):     at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 06-21 06:24:12.799: E/AndroidRuntime(4913):     ... 28 more 06-21 06:24:12.799: E/AndroidRuntime(4913):     Suppressed: java.lang.ClassNotFoundException: android.support.design.R$styleable 06-21 06:24:12.799: E/AndroidRuntime(4913):         at java.lang.Class.classForName(Native Method) 06-21 06:24:12.799: E/AndroidRuntime(4913):         at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 06-21 06:24:12.799: E/AndroidRuntime(4913):         at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 06-21 06:24:12.799: E/AndroidRuntime(4913):         at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 06-21 06:24:12.799: E/AndroidRuntime(4913):         ... 29 more 06-21 06:24:12.799: E/AndroidRuntime(4913):     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

回答1:

Ok finally I solved the problem using Denis Loh suggestion. Key to solve this problem is check the R file of all the included libraries, when this crash happens design library R is not generated and hence not shown in gen folder of your project.

But eclipse will not show you problem why it is not generated(God knows how eclipse work)

So in order to generate R file of design folder

In project.properties of design library set target to 21 or highest available

Clean v7 , design and your project run & enjoy



回答2:

You can import androidSupportDesign from \sdk\extras\android\support\design and tick "isLibrary", then you import appcombat_v7(lib) to androidSupportDesign. Final you import to your project and clean build all! I hope it can help

All project build with api > 21

you!



回答3:

How I solve this problem is to run './gradlew clean' first, then try to compile the code with './gradlew installDebug'.

I guess the problem is due to the old R file still remain the same, and the compiler can't find resource related to CoordinatorLayout within the old R file.

May this help.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!