web-dev-qa-db-fra.com

ClassNotFoundException: la classe "Android.support.design.R $ styleable" n'a pas été trouvée

Bonjour, j'utilise NavigationView mais je reçois une erreur. Voici mon xml, j'ai déjà inclus le support Android et la bibliothèque v7.

project.properties comme je n'utilise pas le studio Android

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


<Android.support.v4.widget.DrawerLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    Android:id="@+id/drawer_layout"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:fitsSystemWindows="true"
    tools:context="com.toxic.apps.Kodi" >

<LinearLayout
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical" >

    <Android.support.v7.widget.Toolbar
        Android:id="@+id/toolbar"
        Android:layout_width="match_parent"
        Android:layout_height="?attr/actionBarSize"
        Android:background="@color/primary"
        Android:minHeight="?attr/actionBarSize" />

    <FrameLayout
        Android:id="@+id/container"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent" />
</LinearLayout>

<Android.support.design.widget.NavigationView
    Android:id="@+id/navigation"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:layout_gravity="start"
    app:headerLayout="@layout/drawer_header"
    app:itemTextColor="@color/primary"
    app:menu="@menu/drawer" />

</Android.support.v4.widget.DrawerLayout>

et ci-dessous est mon 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.<init>(ScrimInsetsFrameLayout.Java:54)
06-21 06:24:12.799: E/AndroidRuntime(4913):     at Android.support.design.widget.NavigationView.<init>(NavigationView.Java:92)
06-21 06:24:12.799: E/AndroidRuntime(4913):     at Android.support.design.widget.NavigationView.<init>(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
9
ingsaurabh

Ok enfin j'ai résolu le problème en utilisant la suggestion de Denis Loh. La solution pour résoudre ce problème consiste à vérifier le fichier R de toutes les bibliothèques incluses. Lorsque cet incident se produit, design library R n'est pas généré et donc n'apparaît pas dans le dossier gen de votre projet.

Mais Eclipse ne vous montrera pas le problème pourquoi il n’est pas généré (Dieu sait comment Eclipse fonctionne)

Donc, afin de générer le fichier R du dossier de conception

Dans project.properties of design library, définissez cible sur 21 ou le plus disponible

Clean v7, concevez et exécutez votre projet

8
ingsaurabh

Vous pouvez importer androidSupportDesign à partir de\sdk\extras\Android\support\design et cochez "isLibrary", puis importez appcombat_v7 (lib) vers androidSupportDesign. Final, vous importez dans votre projet et nettoyez-le tous! J'espère que ça peut aider

Tous les projets construits avec api> 21

vous!

1
Thientvse

Pour résoudre ce problème, exécutez d'abord «./gradlew clean», puis essayez de compiler le code avec «./gradlew installDebug».

Je suppose que le problème est dû au fait que l'ancien fichier R reste toujours le même et que le compilateur ne trouve pas la ressource liée à CoordinatorLayout dans l'ancien fichier R.

Puisse ceci aider.

0
Anthonyeef