2017-08-18 126 views
0

我正在實現一個菜單,但它總是拋出相同的錯誤,我在早期的應用程序中具有相同的配置,並且在此工作中適用於我,我嘗試過很多事情,我無法修復它。我試圖在android工作室中實現一個菜單

我試着多次更改支持依賴關係:appcompat和upport:design,但它不起作用。

錯誤:

08-18 13:23:22.035 4143-4143/xxxx.com.xxx E/AndroidRuntime: FATAL EXCEPTION: main Process: xxxx.com.xxxx, PID: 4143 

java.lang.NoSuchFieldError: No static field abc_textfield_search_default_mtrl_alpha of type I in class Landroid/support/v7/appcompat/R$drawable; or its superclasses (declaration of 'android.support.v7.appcompat.R$drawable' appears in /data/app/xxxx.com.xxxx-1/split_lib_dependencies_apk.apk:classes17.dex) 

at android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:111) 
at android.support.v7.widget.AppCompatDrawableManager.get(AppCompatDrawableManager.java:85) 
at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81) 
at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:131) 
at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:151) 
at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:31) 
at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:55) 
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205) 
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185) 
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) 
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 

at xxxx.com.xxxx.MainActivity.onCreate(MainActivity.java:14) 

at android.app.Activity.performCreate(Activity.java:6112) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1117) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2721) 
at android.app.ActivityThread.access$900(ActivityThread.java:168) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5753) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200) 

活動

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    } 
} 

佈局

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="TextView" 
      android:textAlignment="center" 
      android:textSize="24sp" /> 
    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     app:menu="@menu/navigation_menu" 
     android:layout_gravity="start"> 



    </android.support.design.widget.NavigationView> 

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

搖籃

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 
    defaultConfig { 
     applicationId "xxxx.com.xxxx" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 

    compile 'com.android.support:design:25.2.0' 
    compile 'com.android.support:appcompat-v7:25.2.0' 
    compile 'com.android.support.constraint:constraint-layout:1.0.1' 
    testCompile 'junit:junit:4.12' 
} 
+0

你的主線有什麼問題? –

+0

@MehdiB。哪裏? –

+0

rephrasing,你的Activity類的第14行寫的代碼是什麼:MainActivity.java? –

回答

0

NoSuchFieldError:如果應用程序試圖訪問或修改對象的指定字段,並且該對象不再具有該字段,則拋出該錯誤。

通常,編譯器會捕獲此錯誤,因此請在編譯任何錯別字或缺少菜單資源之前檢查項目,因爲您正在使用導航視圖;如果某個類的定義發生了不兼容的更改,則只能在運行時發生此錯誤。