Android Studio构建失败,因为它无法合并Renderscript文件

时间:2013-12-13 18:06:35

标签: android android-studio renderscript android-gradle

我已经开始将我们的一个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文件并列。

1 个答案:

答案 0 :(得分:3)

只需删除资源文件夹中的bc文件即可。

你的案子:

  

除去=>   C:\用户\ PROG \文件\ GIT中\ PROJECT \ SRC \主\ RES \原料\ levelsfilterrs.bc

原因:

编译完renderscript后,llvm会生成* .bc文件,以便与最终的apk捆绑在一起。 因为您已经有* .bc文件,导致合并资源任务失败。