res / drawable / abc_ic_ab_back_material.xml资源$ KitFat上的NotFoundException

时间:2017-01-24 05:51:34

标签: java android gradle build.gradle android-4.4-kitkat

我知道有很多关于此的问题。我已经尝试了一切,没有成功。

Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml

File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016

Android: getting Resources$NotFoundException for abc_ic_ab_back_material

是的,我已经尝试将compileSdkVersionbuildToolsVersion(以及依赖项)降级到24.x.x和23.x.x,发生了同样的错误。

我正在使用Genymotion来模拟4.4 Android版本。

是否存在Genymotion错误的可能性(我没有要测试的kitkat设备)?

app模块的gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"

    defaultConfig {
        applicationId "maxfratane.qrcode"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.android.support:support-v4:25.1.0'
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'
    testCompile 'junit:junit:4.12'
}

项目gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我根本不知道该怎么做。我需要在4.4设备上运行此应用程序。

2 个答案:

答案 0 :(得分:3)

有两种解决方案,

  1. 让你的应用程序使用vector drawable,并使用vector for back abc_ic_ab_back_material.xml。 Lern更多在Add Multi-Density Vector Graphics

  2. 从sdk复制png,ic_menu_back.png作为后退图标并将其粘贴到您的项目中。

答案 1 :(得分:0)

我已经尝试了所有可能的答案,没有一个对我有用。所以,如果有人仍有问题,那么这里是我的两分钱:

  1. 将所有Android ui小部件更改为AppCompat小部件。 示例: TextView - >的 android.support.v7.widget.AppCompatTextView (这是因为最新版本不支持像4.4 kitkat这样的旧版Android)
  2. 我在buildToolsVersion '26 .0.2'上遇到了这个问题,所以降级到'25 .0.3'也有效。(注意:不是最好的方法,因为这只是在特定设备上观察到的)