我升级了我的android studio的版本,现在我使用的是2.1.3版本,我相信它是当前版本。 com.android.support:appcompat-v7也已升级到24.2.0。
一切正常,但导航后退箭头不断发出错误, 这是错误
08-22 18:04:59.470 11403-11403/com.app.oues E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.oues, PID: 11403
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.oues/com.app.oues.Registration}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020014
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020014
at android.content.res.Resources.loadDrawable(Resources.java:2101)
at android.content.res.Resources.getDrawable(Resources.java:700)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:346)
这是调用工具栏上的箭头的代码
final Drawable upArrow = ContextCompat.getDrawable(getApplicationContext(), R.drawable.abc_ic_ab_back_material);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
这是我的成绩
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.app.oues"
minSdkVersion 9
targetSdkVersion 24
versionCode 2
versionName "1.0.1"
vectorDrawables.useSupportLibrary = true
}
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 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0' }
阅读完之后,我将vectorDrawables.useSupportLibrary = true
添加到了gradle但它不起作用,错误不断弹出。如果有人可以提供帮助,我将不胜感激。感谢
答案 0 :(得分:1)
我也遇到了第24版appCompat库的问题。在我的堆栈跟踪中,低于NotFoundException,我有一个XmlPullParserException,其原因是'无效的可绘制标记向量'。虽然确保您的可绘制XML文件只是在您的“可绘制”文件中。源文件夹。另外,我刚刚使用了(已弃用的)getResources()。getDrawable()调用,这似乎有效。我也尝试了你的' ContextCompat'打电话但它没有改变任何东西。我的电话是:
syncButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_sync_timer_day));
这似乎只影响API 19设备(未在下面测试)。它适用于API 22,23和24设备(未测试20或21)。
我的解决方法是回滚到com.android.support:appcompat-v7:23.2.1' (和其他相关的V 23东西)。现在在模拟器中测试了API 19,22,23和24。
花了一些时间来弄清楚如何支持所有口味,但这似乎有效。
我的应用程序Gradle.build文件如下所示,虽然我可能有一些实际上不需要的东西,因为我尝试了多个帖子中的所有内容(错误的是我一次更改多个东西) #39;害怕)。
apply plugin: 'com.android.application'
android {
signingConfigs {
config {
keyAlias 'RaceTac'
keyPassword 'clover99'
storeFile file('C:/Users/Dave/Documents/Dev/AndroidKeyStore.jks')
storePassword 'clover99'
}
}
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.hubbardsoftware.racetac"
minSdkVersion 16
targetSdkVersion 23
versionCode 14
versionName '1.05'
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
generatedDensities = []
}
// Needed for backward compatibility with Vector graphics
aaptOptions {
additionalParameters "--no-version-vectors"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
// compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.google.android.gms:play-services:9.4.0'
compile 'com.android.support:support-v4:23.2.1'
compile 'com.google.android.gms:play-services-ads:9.4.0'
compile 'com.google.android.gms:play-services-auth:9.4.0'
compile 'com.google.android.gms:play-services-gcm:9.4.0'
compile 'com.android.support:multidex:1.0.1'
}
不确定这是一个直接的答案,但V 24似乎确实存在一些问题。