我已经开始将我们的一个Android项目从Eclipse(使用ADT)迁移到新的构建系统Gradle。由于新的Android Studio使用Gradle,我修改了项目,因此可以将其正确导入Android Studio。
我所做的所有步骤都在Android Studio之外(添加Gradle,创建包装器,更改源文件目录等等),而Studio内外都结果相同(使用“gradlew build”)命令或其变体,例如“gradlew aR”)。
以下是错误消息:
C:\Users\prog\Documents\git\PROJECT>gradlew aR
:preBuild UP-TO-DATE
:preReleaseBuild UP-TO-DATE
:prepareReleaseDependencies
:compileReleaseAidl
:compileReleaseRenderscript
:generateReleaseBuildConfig
:mergeReleaseAssets
:mergeReleaseResources
C:\Users\prog\Documents\git\PROJECT\build\res\rs\release\raw\levelsfilter
rs.bc: Error: Duplicate resources: C:\Users\prog\Documents\git\PROJECT\bu
ild\res\rs\release\raw\levelsfilterrs.bc:raw/levelsfilterrs, C:\Users\prog\Docum
ents\git\PROJECT\src\main\res\raw\levelsfilterrs.bc:raw/levelsfilterrs
:mergeReleaseResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':mergeReleaseResources'.
C:\Users\prog\Documents\git\PROJECT\build\res\rs\release\raw\levelsfilt
errs.bc: Error: Duplicate resources: C:\Users\prog\Documents\git\PROJECT\
build\res\rs\release\raw\levelsfilterrs.bc:raw/levelsfilterrs, C:\Users\prog\Doc
uments\git\PROJECT\src\main\res\raw\levelsfilterrs.bc:raw/levelsfilterrs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 4.277 secs
这是Gradle构建文件。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
android {
compileSdkVersion 11
buildToolsVersion "19"
}
RS文件遵循目录约定,例如“src / main / rs”。之前,它们与使用它们的* .java文件并列。
答案 0 :(得分:3)
只需删除资源文件夹中的bc文件即可。
你的案子:
除去=> C:\用户\ PROG \文件\ GIT中\ PROJECT \ SRC \主\ RES \原料\ levelsfilterrs.bc
原因:
编译完renderscript后,llvm会生成* .bc文件,以便与最终的apk捆绑在一起。 因为您已经有* .bc文件,导致合并资源任务失败。