我正在使用以下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上工作。
答案 0 :(得分:0)
我找到了解决方案。通过添加:
解决了这个问题aaptOptions { additionalParameters "--no-version-vectors" }
到app build gradle。