代码之家  ›  专栏  ›  技术社区  ›  Marcus J.Kennedy

Android应用程序崩溃仅限于Android 6

  •  0
  • Marcus J.Kennedy  · 技术社区  · 6 年前

    我已经创建了一个小应用程序,但这次崩溃只发生在Android 6上,代码行由Android Studio在第一个活动抽屉中创建:

    setContentView(R.layout.activity_home);
    

    错误:

     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.application/com.application.Home}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
    

    详细错误:

     Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
            at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
    

    此应用程序仅在该设备/android 6上崩溃,android 7和8没有问题,代码以任何方式都是正确的,如:

    <application
            android:allowBackup="true"
            android:icon="@drawable/logo"
            android:label="@string/app_name"
            android:roundIcon="@drawable/logo"
            android:supportsRtl="true"
            android:hardwareAccelerated="true"
            android:theme="@style/AppTheme">
            <activity
                android:name=".Home"
                android:keepScreenOn="true"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@style/AppTheme.NoActionBar">
    

    以及同样完美的XML代码:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:id="@+id/main_content"
        android:layout_height="match_parent"
        tools:context=".Home">
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme.PopupOverlay" />
    
        </android.support.design.widget.AppBarLayout>
    
        <include layout="@layout/content_home" />
    
    </android.support.design.widget.CoordinatorLayout>
    

    版本:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "com.myapp"
            minSdkVersion 21
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                debuggable false
                minifyEnabled true
                useProguard true
                shrinkResources true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
            debug {
                debuggable true               
            }
        }
        compileOptions {
            targetCompatibility 1.8
            sourceCompatibility 1.8
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support:support-v4:27.1.1'
        implementation 'com.android.support:design:27.1.1'
        implementation 'com.android.support:cardview-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.2'
        implementation 'com.google.firebase:firebase-messaging:17.0.0'
        implementation 'com.google.firebase:firebase-core:16.0.0'
        implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
        implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
        implementation 'com.google.zxing:core:3.3.2'
        //implementation 'io.github.tonnyl:whatsnew:+'
        implementation 'com.github.GrenderG:Toasty:1.2.5'
        implementation 'com.shawnlin:number-picker:2.4.6'
        implementation "com.tonyodev.fetch2:fetch2:2.1.0-RC3"
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    
    apply plugin: 'com.google.gms.google-services'
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Sagar    6 年前

    您遇到此问题是因为您在 drawable-v24 只有在V23(android M)中才尝试引用它们。要么把它们移到 drawable 文件夹或 drawable-v23 (如果较低版本不需要这些资源)