问题描述
每当我尝试构建我的项目时,我都会收到此错误:
Whenever I try and build my project, I get this error:
Android resource compilation failed
Output:
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:497: error: :listItem>.
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:498: error: :listItem>.
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:499: error: :listItem>.
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:503: error: :listItem>.
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:504: error: :listItem>.
Command: C:\Users\smart\.gradle\caches\transforms-1\files-1.1\aapt2-3.3.0-alpha02-4818971-windows.jar\a281fb5dd58b50951126c2252f73d452\aapt2-3.3.0-alpha02-4818971-windows\aapt2.exe compile --legacy \
-o \
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\res\merged\debug \
C:\Users\smart\AndroidStudioProjects\ShoppingList\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Daemon: AAPT2 aapt2-3.3.0-alpha02-4818971-windows Daemon #2
有问题的 xml 行是:
The xml lines in question are:
<color name="colorPrimary">#d50000</color>
<color name="colorPrimaryDark">#b71c1c</color>
<color name="colorAccent">#757575</color>
<listItem name="windowActionBar">false</listItem>
<listItem name="windowNoTitle">true</listItem>
我正在使用
classpath 'com.android.tools.build:gradle:3.3.0-alpha02'
我的应用程序 gradle 文件是:
And my app gradle file is:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.my.kellen.shoppinglist"
minSdkVersion 14
targetSdkVersion 26
versionCode 2
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:26.1.0'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.bignerdranch.android:expandablerecyclerview:1.0.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
// Room components
implementation "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
androidTestImplementation "android.arch.persistence.room:testing:1.1.1"
// Lifecycle components
implementation "android.arch.lifecycle:extensions:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
}
apply plugin: 'com.google.gms.google-services'
谁能帮帮我?我已经尝试清理和重建项目,并检查了所有有问题的行.最近我什至没有修改它们,所以我不确定发生了什么.
Can anyone help me out? I've tried cleaning and rebuilding the project, and checked over all of the lines in question. I didn't even modify them recently, so I'm not sure whats going on.
EDIT - 我已将 classpath
恢复为 3.1.3,将 distributionUrl
恢复为 4.5,现在我收到了不同的错误消息:
EDIT - I've reverted my classpath
to 3.1.3 and the distributionUrl
to 4.5, and now I get a different error message:
Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details.
日志说:
error: :listItem>.
Message{kind=ERROR, text=error: :listItem>., sources=`[C:\Users\smart\AndroidStudioProjects\ShoppingList\app\src\main\res\values\styles.xml:17:5-90], original message=, tool name=Optional.of(AAPT)}`
并指向应该有效的两条不同的 xml 行:
And points towards two different xml lines that should be valid:
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
推荐答案
我遇到了类似的问题,Android 资源编译失败.
I got something similar where the Android resource compilation failed.
error: <item> inner element must either be a resource reference or empty.
我看到一些帖子建议删除ids.xml"文件并解决了问题.虽然这可能会修复它,但您可能会造成更大的伤害,因为代码可能会引用该 id 标签.
I'm seeing some posts that suggest deleting a "ids.xml" file and that fixes the issue. While that may fix it, you may be doing more harm since code may refer to that id tag.
我通过从以下位置更新ids.xml"文件解决了我的问题:
I fixed my issue by updating the "ids.xml" file from:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="item_click_support" type="id">id</item>
</resources>
致:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="item_click_support" type="id"/>
</resources>
注意 Item 标签现在是一个自关闭的 xml 元素.这是现在在ids.xml"文件中列出 id 的正确方法.您也可以参考官方 Android 文档.
Notice how the Item tag is a self closing xml element now. This is the correct way to list id's within the "ids.xml" file now.You can refer to the official Android documentation for this as well.
干杯!
这篇关于Android资源编译在3.3.0-alpha02失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!