こんにちは私は NavigationView を使用していますが、エラーが発生します。以下は私のxmlです。すでにAndroidサポートとv7ライブラリが含まれています
project.properties私は使用していないのでAndroid studio
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>
以下は私のスタックトレースです
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
さて、ついに私はDenisLohの提案を使用して問題を解決しました。この問題を解決するための鍵は、このクラッシュが発生したときに、含まれているすべてのライブラリのRファイルを確認することですdesign library
Rは生成されないため、プロジェクトのgen
フォルダーに表示されません。
しかし、Eclipseはなぜそれが生成されないのかという問題をあなたに示しません(神はEclipseがどのように機能するかを知っています)
だからデザインフォルダのRファイルを生成するために
デザインライブラリのproject.propertiesで、ターゲットを21以上に設定します。
クリーンなv7、デザイン、プロジェクトの実行と楽しみ
AndroidSupportDesignを\ sdk\extras\Android\support\designからインポートし、「isLibrary」にチェックマークを付けてから、appcombat_v7(lib)をandroidSupportDesignにインポートします。最後に、プロジェクトにインポートして、すべてをクリーンビルドします。私はそれが役立つことを願っています
すべてのプロジェクトはAPI> 21でビルドされます
君は!
この問題を解決する方法は、最初に「./gradlew clean」を実行してから、「。/gradlewinstallDebug」を使用してコードをコンパイルすることです。
問題は、古いRファイルがまだ同じままであり、コンパイラが古いRファイル内でCoordinatorLayoutに関連するリソースを見つけることができないためだと思います。
これがお役に立てますように。