2016-09-23 2 views
1

Ich habe ein Problem mit NavigationView. Es funktioniert perfekt im Debug-Modus, aber nach dem Release-Build funktioniert es nicht :(Ich aktualisiere nur die Gradle-Version und füge Java 8-Unterstützung hinzu. Vor 1-2 Monaten funktioniert dieses Projekt nach Release-Build. Also ist es ein Problem mit Gradle, oder java 8, proguard, oder wasFehler beim Aufblasen der Klasse android.support.design.widget.NavigationView Java 8 android

UPDATE: nach Java 8 Release-Build Arbeit

Fehlermeldung

           java.lang.RuntimeException: Unable to start activity ComponentInfo{com.*.activities.MainActivity}: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class android.support.design.widget.NavigationView 
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
               at android.app.ActivityThread.-wrap11(ActivityThread.java) 
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
               at android.os.Handler.dispatchMessage(Handler.java:102) 
               at android.os.Looper.loop(Looper.java:148) 
               at android.app.ActivityThread.main(ActivityThread.java:5417) 
               at java.lang.reflect.Method.invoke(Native Method) 
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
               Caused by: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class android.support.design.widget.NavigationView 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
               at com.spinne.smsparser3.b.a.onCreateView(Unknown Source) 
               at com.spinne.smsparser3.b.g.c.onCreateView(Unknown Source) 
               at android.app.Fragment.performCreateView(Fragment.java:2220) 
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973) 
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148) 
               at android.app.BackStackRecord.run(BackStackRecord.java:793) 
               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535) 
               at android.app.FragmentController.execPendingActions(FragmentController.java:325) 
               at android.app.Activity.performStart(Activity.java:6252) 
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
               Caused by: android.view.InflateException: Binary XML file line #27: Error inflating class android.support.design.widget.NavigationView 
               at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
               at com.spinne.smsparser3.b.a.onCreateView(Unknown Source)  
               at com.spinne.smsparser3.b.g.c.onCreateView(Unknown Source)  
               at android.app.Fragment.performCreateView(Fragment.java:2220)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)  
               at android.app.BackStackRecord.run(BackStackRecord.java:793)  
               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)  
               at android.app.FragmentController.execPendingActions(FragmentController.java:325)  
               at android.app.Activity.performStart(Activity.java:6252)  
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
               Caused by: java.lang.reflect.InvocationTargetException 
               at java.lang.reflect.Constructor.newInstance(Native Method) 
               at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
               at com.spinne.smsparser3.b.a.onCreateView(Unknown Source)  
               at com.spinne.smsparser3.b.g.c.onCreateView(Unknown Source)  
               at android.app.Fragment.performCreateView(Fragment.java:2220)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)  
               at android.app.BackStackRecord.run(BackStackRecord.java:793)  
               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)  
               at android.app.FragmentController.execPendingActions(FragmentController.java:325)  
               at android.app.Activity.performStart(Activity.java:6252)  
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
               Caused by: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class android.support.design.internal.NavigationMenuView 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
               at android.support.design.internal.NavigationMenuPresenter.getMenuView(Unknown Source) 
               at android.support.design.widget.NavigationView.<init>(Unknown Source) 
               at android.support.design.widget.NavigationView.<init>(Unknown Source) 
               at java.lang.reflect.Constructor.newInstance(Native Method)  
               at android.view.LayoutInflater.createView(LayoutInflater.java:619)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
               at com.spinne.smsparser3.b.a.onCreateView(Unknown Source)  
               at com.spinne.smsparser3.b.g.c.onCreateView(Unknown Source)  
               at android.app.Fragment.performCreateView(Fragment.java:2220)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)  
               at android.app.BackStackRecord.run(BackStackRecord.java:793)  
               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)  
               at android.app.FragmentController.execPendingActions(FragmentController.java:325)  
               at android.app.Activity.performStart(Activity.java:6252)  
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
               Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.internal.NavigationMenuView 
               at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.support.design.internal.NavigationMenuPresenter.getMenuView(Unknown Source)  
               at android.support.design.widget.NavigationView.<init>(Unknown Source)  
               at android.support.design.widget.NavigationView.<init>(Unknown Source)  
               at java.lang.reflect.Constructor.newInstance(Native Method)  
               at android.view.LayoutInflater.createView(LayoutInflater.java:619)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
               at com.spinne.smsparser3.b.a.onCreateView(Unknown Source)  
               at com.spinne.smsparser3.b.g.c.onCreateView(Unknown Source)  
               at android.app.Fragment.performCreateView(Fragment.java:2220)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)  
               at android.app.BackStackRecord.run(BackStackRecord.java:793)  
               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)  
               at android.app.FragmentController.execPendingActions(FragmentController.java:325)  
               at android.app.Activity.performStart(Activity.java:6252)  
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
               Caused by: java.lang.reflect.InvocationTargetException 
               at java.lang.reflect.Constructor.newInstance(Native Method) 
               at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:492)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.support.design.internal.NavigationMenuPresenter.getMenuView(Unknown Source)  
               at android.support.design.widget.NavigationView.<init>(Unknown Source)  
               at android.support.design.widget.NavigationView.<init>(Unknown Source)  
               at java.lang.reflect.Constructor.newInstance(Native Method)  
               at android.view.LayoutInflater.createView(LayoutInflater.java:619)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
               at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
               at com.spinne.smsparser3.b.a.onCreateView(Unknown Source)  
               at com.spinne.smsparser3.b.g.c.onCreateView(Unknown Source)  
               at android.app.Fragment.performCreateView(Fragment.java:2220)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)  
               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)  
               at android.app.BackStackRecord.run(BackStackRecord.java:793)  
               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)  
               at android.app.FragmentController.execPendingActions(FragmentController.java:325)  
               at android.app.Activity.performStart(Activity.java:6252)  
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

Build.gradle

apply plugin: 'com.android.application' 
android { 
compileSdkVersion 24 
buildToolsVersion '24.0.2' 

defaultConfig { 
    applicationId "com.*" 
    minSdkVersion 14 
    targetSdkVersion 24 
    versionCode 17 
    versionName '3.3.0' 

    jackOptions { 
     enabled true 
    } 
} 
compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
} 
lintOptions { 
    checkReleaseBuilds false 
    abortOnError false 
} 
signingConfigs { 
    release { 
     storeFile file('../AppKeys.keystore') 
     storePassword '' 
     keyAlias 'appkey' 
     keyPassword '' 
    } 
} 
buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
     signingConfig signingConfigs.release 
     zipAlignEnabled true 
    } 
} 
} 

dependencies { 
    compile 'com.android.support:design:24.2.1' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:support-v4:24.2.1' 
    compile 'com.android.support:support-v13:24.2.1' 
    compile 'com.android.support:cardview-v7:24.2.1' 
    compile 'com.android.support:recyclerview-v7:24.2.1' 
    compile 'com.google.code.gson:gson:+' 
} 

Prog Entfernen UARD

# Gson 
-keep public class com.google.gson 
-keep class com.someapp.android.models.ChatModel { *; } 
-keep class com.someapp.android.models.FeedModel { *; } 

# Annotations and signatures 
-keepattributes Signature 

# android support library 
-keep class android.support.v7.widget.LinearLayoutManager { *; } 

# Other 
-dontwarn com.github.mikephil.** 
-dontwarn org.apache.commons.** 

Aktivität

<android.support.v4.widget.DrawerLayout 
    android:id="@+id/drawer_layout" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <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="@dimen/action_bar_height"/> 

     <RelativeLayout 
      android:id="@+id/main_content_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <RelativeLayout 
       android:id="@+id/main_content" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_marginBottom="40dp"/> 
     </RelativeLayout> 
    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/menu_content_left" 
     style="@style/BaseMenu" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:itemIconTint="@color/left_menu_item" 
     app:itemTextColor="@color/left_menu_item" 
     android:theme="@style/NavigationViewStyle"/> 
</android.support.v4.widget.DrawerLayout> 
+0

Es gibt ein ähnliches Problem bereits im Android Issue Tracker veröffentlicht. https://code.google.com/p/android/issues/detail?id=218917&sort=-opened&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened Sie können dies markieren, um seinen Fortschritt zu sehen. – Grisgram

Antwort

0

Für diejenigen, die für eine schnelle Lösung suchen, während Google die Zukunft Release-Version, fügen Sie diese zu Ihrer proguard Datei:

# android support library 
-keep class android.support.v7.widget.DefaultItemAnimator { *; } 
Verwandte Themen