Ahmad Aghazadeh
Ahmad Aghazadeh

Reputation: 17131

How to build all product flavors from Android Studio?

I have many flavors in gradle file :

      def _versionName = "1.19"
      def _applicationId = "com.site.app"
      productFlavors {
        CafebazarPro {
            applicationId "${_applicationId}"
            versionName "${_versionName}" +"-Cafebazar-Pro"
       }


        CafebazarInPurchase {
            applicationId "${_applicationId}.inpurchase"
            versionName "${_versionName}" +"-Cafebazar-InPurchase"
         }

        //-------------------------------------------

        Cando {
            applicationId ${_applicationId}"
            versionName  "${_versionName}" +"-Cando-Pro"
        }

        //-------------------------------------------

        Myket {
            applicationId "${_applicationId}"
            versionName  "${_versionName}" +"-Myket-Pro"
        }

        //-----------------------------------------

        IranApps {
            applicationId "${_applicationId}"
            versionName  "${_versionName}" +"-IranApps-Pro"
        }
     }

How to build automatically all flavors ? not select and build one by one .

Upvotes: 3

Views: 3898

Answers (2)

Ismail Iqbal
Ismail Iqbal

Reputation: 2580

The question states that if it is possible to build all flavors using android studio. So this might help someone in the future.

Use the Gradle option either from the right side toolbar or from View -> Tool Windows -> Gradle (if gradle is not visible on the toolbar)

Then navigate to Your Project -> Tasks ->build click on the desired option as mentioned below to initiate there respective builds

  1. assemble: assemble both the debug and release versions of all flavors (Takes a lot of time)
  2. assembleAndroidTest: assemble all android unit test
  3. assembleChocolate: assemble both debug and release version of Chocolate flavor
  4. assembleDebug: assemble only the debug version of all flavors (I use this when I do changes which affects all flavors, to make sure all of them build)
  5. assembleRelease: assemble only the release version of all flavors.
  6. assembleStrawberry: assemble both debug and release version of Strawberry flavor
  7. assembleVanila: assemble both debug and release version of Vanilla flavor

    enter image description here

kudos :)

Upvotes: 6

Ahmad Aghazadeh
Ahmad Aghazadeh

Reputation: 17131

Open Cmd and run this command :

gradlew tasks

Build tasks
-----------
assemble - Assembles all variants of all applications and secondary packages.
assembleAndroidTest - Assembles all the Test applications.
assembleDebug - Assembles all Debug builds.
assembleRelease - Assembles all Release builds.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
classes - Assembles main classes.
clean - Deletes the build directory.
compileDebugAndroidTestSources
compileDebugSources
compileDebugUnitTestSources
compileReleaseSources
compileReleaseUnitTestSources
jar - Assembles a jar archive containing the main classes.
mockableAndroidJar - Creates a version of android.jar that's suitable for unit tests.
testClasses - Assembles test classes.

Build Setup tasks
-----------------
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'src'.
components - Displays the components produced by root project 'src'. [incubating]
dependencies - Displays all dependencies declared in root project 'src'.
dependencyInsight - Displays the insight into a specific dependency in root project 'src'.
help - Displays a help message.
model - Displays the configuration model of root project 'src'. [incubating]
projects - Displays the sub-projects of root project 'src'.
properties - Displays the properties of root project 'src'.
tasks - Displays the tasks runnable from root project 'src' (some of the displayed tasks may belong to subprojects).

Install tasks
-------------
installDebug - Installs the Debug build.
installDebugAndroidTest - Installs the android (on device) tests for the Debug build.
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build.
uninstallDebugAndroidTest - Uninstalls the android (on device) tests for the Debug build.
uninstallRelease - Uninstalls the Release build.

Verification tasks
------------------
check - Runs all checks.
connectedAndroidTest - Installs and runs instrumentation tests for all flavors on connected devices.
connectedCheck - Runs all device checks on currently connected devices.
connectedDebugAndroidTest - Installs and runs the tests for debug on connected devices.
deviceAndroidTest - Installs and runs instrumentation tests using all Device Providers.
deviceCheck - Runs all device checks using Device Providers and Test Servers.
lint - Runs lint on all variants.
lintDebug - Runs lint on the Debug build.
lintRelease - Runs lint on the Release build.
test - Run unit tests for all variants.
testDebugUnitTest - Run unit tests for the debug build.
testReleaseUnitTest - Run unit tests for the release build.

Other tasks
-----------
clean
jarDebugClasses
jarReleaseClasses
transformResourcesWithMergeJavaResForDebugUnitTest
transformResourcesWithMergeJavaResForReleaseUnitTest

gradlew assemble - Assembles all variants of all applications and secondary packages.

Upvotes: 6

Related Questions