值为-b + sr + Latn的Android构建错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值为-b + sr + Latn的Android构建错误相关的知识,希望对你有一定的参考价值。
您好我正在尝试使用android支持库构建我的第一个项目,以支持市场上所有设备的材料设计。在我的旅程开始时,我从零开始创建一个项目,当我使用此模块配置从graddle构建时:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "19.1"
defaultConfig {
applicationId "com.sunshine.org.weather"
minSdkVersion 13
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:support-v13:24.2.1'
}
我收到这些错误 - >>>
GRADDLE错误: :app:generateDebugResources UP-TO-DATE:app:mergeDebugResources:app:processDebugManifest UP-TO-DATE:app:processDebugResources无效的资源目录名:C: Users weather app build intermediates res merged debug /值-b + SR + LATN
失败
FAILURE:构建因异常而失败。
- 出了什么问题:任务':app:processDebugResources'执行失败。 com.android.ide.common.process.ProcessException:无法执行aapt
- 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。
建筑失败 当我删除包含相应XML文件的“values-b + sr + Latn”文件夹时,在我构建项目时,它总是由工作室重新创建。我试图清理和建造,但这不能解决我的问题。
我正在尝试在KitKat(API级别14)上运行应用程序,并希望将材料设计下载到HONEYCOMB(API级别13)并支持应用程序直到NOUGAT(API级别24)您能指出我的错误吗?
在build.gradle中尝试这个
aaptOptions {
ignoreAssetsPattern "!values-b+sr+Latn"
}
要扩展粉末366的答案和评论,因为我没有代表评论自己。
在Project:Name中称为'build.gradle'的Gradle脚本中,有一个带括号的'android'部分。在这些括号内你可以添加
aaptOptions {ignoreAssetsPattern“!values-b + sr + Latn”}
所以你最终得到类似的东西
android {
aaptOptions {
ignoreAssetsPattern "!values-b+sr+Latn"
}
}
当重建项目时,它立即为我修复了它
Some background
Android 7.0(API级别24)引入了对BCP 47语言标记的支持,您可以使用它来限定特定于语言和区域的资源。语言标签由一个或多个子标签的序列组成,每个子标签细化或缩小由整个标签识别的语言范围。有关语言标记的详细信息,请参阅标识语言的标记。
要使用BCP 47语言标记,请连接b +和两个字母的ISO 639-1语言代码,可选地后跟由+分隔的其他子标记。
例子:
- b +和
- b + in + US
- B + IT + 419
https://developer.android.com/guide/topics/resources/providing-resources.html#QualifierRules
How to fix this
由于此功能是在API 24中引入的,我怀疑将构建工具更新到至少24将解决问题。
android {
buildToolsVersion "27.0.3"
}
Gradle的最新Android插件将自动处理构建工具版本,因此您可以完全删除该行。
以上是关于值为-b + sr + Latn的Android构建错误的主要内容,如果未能解决你的问题,请参考以下文章
0605-Zuul构建API Gateway-使用Sidecar支持异构平台的微服务