代码之家  ›  专栏  ›  技术社区  ›  ejromero

安卓所容纳之物res.Resources$NotFoundException API级别19

  •  2
  • ejromero  · 技术社区  · 7 年前

    有人知道为什么我在android 7 perfect上测试我的apk,在5 perfect上测试。。。但如果我在4.4.2上测试从drawable加载图标时崩溃。。。这是我的apk崩溃的代码:

    Drawable drawable = null;
            Integer id_icon = 0;
            if (materia.getIcon() != null) {
                id_icon = getResources().getIdentifier(materia.getIcon(), "drawable", "com.package");
            } else {
                Integer size = materia.getTopics().size();
                if (size >= 1 && size <= 9) {
                    id_icon = getResources().getIdentifier("ic_filter_" + size.toString() + "_black", "drawable", "com.package");
                } else {
                    if (size > 9) {
                        id_icon = getResources().getIdentifier("ic_filter_9_plus_black", "drawable", "com.package");
                    }
                }
            }
    //This line is where throw the exception.... but why??
            if (id_icon > 0) drawable = (Drawable) getResources().getDrawable(id_icon);
            MenuItem menuItem = sm.add(R.id.list_materiales, Menu.NONE, i, Html.fromHtml(materia.getMaterial())).setCheckable(true).setChecked(false);
            menuItem.setIcon(drawable);
            storageKeys.addKeyMaterial(materia.getKey());
    

    这是我的gradle conf:

    apply plugin: 'com.android.application'
    apply plugin: 'realm-android'
    
    android {
       compileSdkVersion 26
       defaultConfig {
           applicationId "com.package"
           minSdkVersion 19
           targetSdkVersion 19
           versionCode 1
           versionName "1.0"
           vectorDrawables.useSupportLibrary = true
       }
        buildTypes {
           release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'),  'proguard-rules.pro'
            }
        }
        compileOptions {
           targetCompatibility 1.8
           sourceCompatibility 1.8
        }
    }
    dependencies {
       implementation fileTree(include: ['*.jar'], dir: 'libs')
       implementation 'com.android.support:cardview-v7:26.1.0'
       implementation 'com.android.support:recyclerview-v7:26.1.0'
       //
       implementation 'com.android.support:appcompat-v7:26.1.0'
       implementation 'com.android.support:design:26.1.0'
       implementation 'com.android.support.constraint:constraint-layout:1.0.2'  'com.android.support.test.espresso:espresso-core:+'
       implementation 'com.android.support:support-v4:26.1.0'
       implementation 'com.android.support:support-vector-drawable:26.1.0'
    }
    

    提前感谢。。对不起,我的英语很差。。。

    1 回复  |  直到 7 年前
        1
  •  0
  •   user456    7 年前

    您是否使用矢量绘图?

    如果是,请参阅本帖。

    vector drawables on pre lollipop crash

    否则,您应该发布错误消息。