Android Gradle单独的res /文件夹构建

jpprade

我正在尝试按国家/地区生成apk,其中每个国家/地区特定的可绘制对象将在countrycode / res /中

(目前有2个国家/地区,分别是“我们”和“它”),而公共资源仅是un res /

res/drawable/generic.png
res/drawable/specific.png
it/res/drawable/specific.png
us/res/drawable/specific.png

这是我的构建文件

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 15
    buildToolsVersion "18.1.0"

    flavorGroups "lang"

    productFlavors {
        it {
            flavorGroup "lang"
        }

        us {
            flavorGroup "lang"
        }
    }

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

        it{
            res.srcDirs = ['it/res']
        }

        us{
            res.srcDirs = ['us/res']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }



    signingConfigs {

        release {
            storeFile file("signing/mykey.keystore")
            storePassword "******"
            keyAlias "myalias"
            keyPassword "******"
        }
    }

    buildTypes {
        debug {
            versionNameSuffix "-DEBUG"
            packageNameSuffix ".debug"
        }
        release {
            debuggable false
            signingConfig signingConfigs.release
        }
        debugRelease.initWith(buildTypes.release)
        debugRelease {
            debuggable true
            packageNameSuffix '.debugrelease'
            signingConfig signingConfigs.release
        }
   }



}

但是它无法生成并显示以下错误:java.lang.StackOverflowError您可以帮助我设置此生成吗?多谢

jpprade

我终于做到了,这篇博客文章对我有很大帮助:http : //apporia.blogspot.fr/2013/11/gradle-and-flavor-groups.html

stackOverflowError错误来自风味名称,我只是将“ it”重命名为“ italy”,将“ us”重命名为“ usa”,并且构建成功,需要花费我几个小时才能弄清楚...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Gradle 构建脚本中获取 android 输出文件夹(绝对路径)

Gradle:从Android资产文件夹中排除文件

Android studio 不同屏幕尺寸 res 文件夹

新的android项目,缺少/ res / drawable文件夹

如何在Android中获取res文件夹的路径

Android不尊重我的res文件夹

Android在res文件夹中添加图像

Android Studio / Gradle测试文件夹命名约定

在Android Studio中删除.gradle文件夹是否安全?

Gradle将构建文件夹移动到/ tmp

在Android Studio版本3.0中,我无法在res文件夹中找到原始文件夹

android-从/ res / raw文件夹中检索所有文件作为文件类型

Cordova Android 6.4.0不在平台android内创建res文件夹顶层

从android测试项目中的res文件夹加载文件

Eclipse在res / layout文件夹中找不到android xml布局文件

将目录和文件从res / raw文件夹复制到SD卡-android

复制静态文件以在gradle中构建输出文件夹

如何将脚本单独包含在我的构建文件夹中?

带有两个目标和单独构建文件夹的Makefile

Android Studio-如何创建不同口味的res文件夹

Android将多张图片添加到drawable res文件夹

Android Studio警告:“ src \ main \ res”中缺少密度变化文件夹:drawable-xxxhdpi

android studio中的红色下划线res文件夹[已解决]

我的android项目中没有“ res / layout /”文件夹(使用eclipse,libGDX)

在构建Android应用程序之前,将jars从其他目录拉到libs文件夹

当我不运行Android Studio时可以删除这些构建文件夹吗?

我在Android Studio中找不到我的项目的构建文件夹

Android构建工具1.1.0,单元测试文件夹?

无法获取要在Android Studio中的JNI文件夹中构建的源代码