Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Studio Gradle Build Flavors

I am having troubles understanding Build Flavors in Android Studio. I am trying to achieve a simple thing: buidling 2 signed APK's with a minor code change. The "pro" APK just has a different drawer.xml in res/layout/. I've read a few things in the Documentation and here on StackOverflow but I don't see anything happen with my build.gradle changes.

my current build.gradle file:

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

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 17
    }

    productFlavors {
        lite {
            packageName = 'com.mikebdev.refuel'
        }
        pro {
            packageName = 'com.mikebdev.refuelpro'
        }
    }

    sourceSets{
        android.sourceSets.pro {
            res.srcDirs = ['src/main/res_pro']
        }
    }
}

I created a new folder:

/src/main/res_pro/layout/drawer.xml

What am I doing wrong here?

EDIT

I updated my build.gradle file above.

After resetting my whole Android Studio because of some other instabilities I am now able to choose in the bottom left corner my build variants (lite-debug, lite-release, pro-debug, pro-release) Why even those debug AND release variants?

This seems to work now as it should.

I added a answer below

like image 565
mike.b93 Avatar asked Mar 23 '23 08:03

mike.b93


2 Answers

After resetting my whole Android Studio because of some other instabilities I am now able to choose in the bottom left corner my build variants (lite-debug, lite-release, pro-debug, pro-release) Why even those debug AND release variants?

I created a whole new Project with Module and copy&pasted everything from my old project which I exported from eclipse a while back in there.

NOW it works.

My Android-Studio was kinda broken before my reinstall. More crashes than there should be, some strange behaviors ans such stuff.

like image 79
mike.b93 Avatar answered Mar 29 '23 04:03

mike.b93


What you're doing wrong is that you are putting your file in /src/main/res_pro/layout/drawer.xml and not setting it in the gradle. the default location for the flavor that you created would be:

/src/pro/res/layout/drawer.xml
like image 36
maclir Avatar answered Mar 29 '23 05:03

maclir