相关疑难解决方法(0)

如何从gradle构建风格中排除res文件夹?

我需要从flavor中删除特定的res文件夹.

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        res.srcDirs = ['res']
        aidl.srcDirs = ['src']
        assets.srcDirs = ['assets']
    }
}

productFlavors {
    flavor1 {
        sourceSets {
            flavor1 {
                resources {
                    exclude 'res/drawable-mdpi/*'
                }
            }
        }
    }
    flavorDimensions "flavor"
}
Run Code Online (Sandbox Code Playgroud)

但仍然drawable-mdpi文件夹来到apk.

所以任何人都可以说明我犯了什么错误.

谢谢Vivek

android gradle build.gradle android-gradle-plugin

12
推荐指数
1
解决办法
3158
查看次数

Gradle 1.2:排除资源sourceSets下的目录

我有src/main/resources/certs/test一个外部库需要的开发相关目录.这有一些生产版本不需要的证书文件.

目前我在下面的块中排除了该目录下的所有内容build.gradle:

sourceSets {
    main {
        resources {
            exclude '**/test/*'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做很好,但留下了丑陋的空目录test.我有什么选择在最后的战争中不包括这个目录?

我试过排除'**/test',但它根本不起作用.

我使用war插件和Gradle 1.2

gradle

10
推荐指数
2
解决办法
4万
查看次数

如何使用Gradle和Android Studio从资源中排除文件?

我的项目中有一个生成的字符串资源xml文件,该文件是从扩展名为.template的文件生成的.我试图从构建中排除此模板,因为它给我重复的资源错误.以下对我不起作用,我被困住了:

  sourceSets {
       main {
           manifest.srcFile 'AndroidManifest.xml'
           java.srcDirs = ['src']
           resources.srcDirs = ['res']
           resources.exclude '**/build_id.template'
           res.srcDirs = ['res']
           res.exclude '**/build_id.template'
           assets.srcDirs = ['assets']
       }
   }
Run Code Online (Sandbox Code Playgroud)

错误:

Error:Error: Duplicate resources: <project-dir>/res/values/build_id.template:string/build_id, <project-dir>/res/values/build_id.xml:string/build_id
Run Code Online (Sandbox Code Playgroud)

如何正确排除特定资源文件?

android gradle android-studio build.gradle

5
推荐指数
1
解决办法
3232
查看次数

如何配置Eclipse/Android插件来忽略desktop.ini文件?

只要在其中一个项目目录中有desktop.ini文件(例如res/values/desktop.ini),Eclipse和Android Tools插件组合就无法构建.

我希望Eclipse和/或Android Tools插件忽略desktop.ini文件.这可能吗?如果有,怎么样?

提前致谢.

eclipse android

4
推荐指数
1
解决办法
2631
查看次数

Android Gradle - 如何从根项目中包含资产?

我有以下项目结构

MyProject
|-- build.gradle
|-- client.private
|-- server.public
|-- app
|   |-- build.gradle
|   |-- lint.xml
|   |-- proguard-project.txt
|   |-- project.properties
|   `-- src
Run Code Online (Sandbox Code Playgroud)

并希望包含client.privateserver.public文件到最终apk的assets文件夹,但遗憾的是无法这样做.

在我的中有以下内容 app/build.gradle

...
android {
    ...
    applicationVariants.all { variant ->
        variant.mergeAssets.doLast {
            copy {
              from(['../client.private', '../server.public'])
              into("${buildDir}/assets/${variant.dirName}")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但它只复制文件app/build/assets/debug,它没有与apk打包.

android gradle android-gradle-plugin

3
推荐指数
2
解决办法
3993
查看次数