更新Android Studio后,无法构建其中一个项目。错误消息是:
Error:(20) error: unknown element <library> found.
Error:(20) unknown element <library> found.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
我的SDK版本是25.我试图使缓存无效并添加distributionUrl=https://services.gradle.org/distributions/gradle-4.1-rc-2-all.zip
,但这两个版本都不适合我。
这是我的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:support-v4:25.4.0'
compile 'de.hdodenhof:circleimageview:2.2.0'
testCompile 'junit:junit:4.12'
annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support:design:25.4.0'
compile 'com.microsoft.projectoxford:face:1.3.0'
}
这是删除DBFlow后的错误日志:
Error:(20) error: unknown element <library> found.
Error:(20) unknown element <library> found.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
答案 0 :(得分:11)
答案 1 :(得分:7)
在android studio 3.1.2中的解决方案
android.enableAapt2=false
不再有效。
此问题的根本原因是Manifest MERGE,当您尝试在项目中包含其他依赖项时会发生这种情况。
检查错误
打开AndroidManifest.xml
在窗口底部选择合并清单标签
立即浏览您的清单文件,并检查处于略带红色背景的清单部分或查找库标记。
右键单击并选择转到声明。检查文件并检查它属于哪个库/依赖。
删除该库或从repo更新它。
希望这有帮助。
答案 2 :(得分:1)
这是Github的已报告问题。 projectoxford
中的问题似乎已在v.1.0.395
答案 3 :(得分:0)
尝试删除已添加此行annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
的注释处理器,如果您还使用了其他任何删除
在工作室3.0以后,他们有内置的注释处理器
答案 4 :(得分:0)
您只需要将其添加到Android清单
<library tools:node="removeAll" />
希望它会有所帮助:)
答案 5 :(得分:0)
它需要将xmlns:tools =“ http://schemas.android.com/tools”附加到清单中,所以我写道:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" <!-- ADD THIS LINE -->
package="com.microsoft.projectoxford.visionsample" >
<!-- ... -->
<library tools:node="removeAll" />
</manifest>