Android CheckBoxPreference minmum sdk版本

时间:2016-03-09 19:46:05

标签: android sdk version material

我正在使用以下app build gradle配置开发android应用程序:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.test.app"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'io.reactivex:rxandroid:1.1.0'
    compile 'io.reactivex:rxjava:1.1.0'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:support-v4:23.2.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'org.apache.commons:commons-lang3:3.4'
    compile 'com.android.support:design:23.0.0'
}

和带有xml配置的简单PreferenceFragment:

#include <iostream>
#include <fstream>

struct mystruct
{
double x, y;
int a;

};


int main()
{
using namespace std;

ifstream file("file.txt");
double x, y;
int a;
if (file.is_open()) {
    while (file >> x >> y >> a)
    {
        mystruct m;
        m.x;
        m.y;
        m.a;

        cout << m.x << endl << m.y << endl << m.a << endl;
    }
}
else
    cout << "Cannot open the file";

return 0;
}

当我在api级别为23的设备上运行app时一切正常但是当我在api 15的模拟器上运行相同的代码时出现错误:

03-09 19:38:01.205 1541-1541/com.test.app E/AndroidRuntime: android.view.InflateException: Binary XML file line #19: Error inflating class android.widget.CheckBox
...
some code
...
03-09 19:38:01.205 1541-1541/com.test.app E/AndroidRuntime:  Caused by: java.lang.reflect.InvocationTargetException
...
some code
...
03-09 19:38:01.205 1541-1541/com.test.app E/AndroidRuntime:  Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_btn_check_mat

我认为材料设计库存在问题,但我不确定,我也不知道如何解决这个问题。我想在带有sdk 15的设备上运行应用程序,但我不能。我该如何解决这个问题?

PS。当我从xml配置中删除CheckBoxPreference我的app我在api 15和api 23上工作。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。通过添加:

解决了这个问题
aaptOptions {
        additionalParameters "--no-version-vectors"
    }

到app build gradle。