How to define common android properties for all modules using gradle
android, gradle
Solution
You could create a `build.gradle` at the root of your project (i.e. the folder that contains all your modules), and use it to configure your rootProject.
For instance, if you have:
MyApp
- Module1/
- build.gradle
- Module2/
- build.gradle
- settings.gradle
You can add a build.gradle next to `settings.gradle`.
In the example above you actually have 3 Gradle projects: Module1, Module2 and the rootProject.
So inside this `build.gradle`, you could do:
// use the ext object to add any properties to the project
project.ext {
compileSdkVersion = 18
}
Then in your modules, you can do:
android {
// here we reference the root project with the "rootProject" object.
compileSdkVersion rootProject.ext.compileSdkVersion
}
Problem
I create a simple project in AndroidStudio with a few modules. Each module's gradle script contains the following code: ``` android { compileSdkVersion 18 buildToolsVersion "18.1.1" defaultConfig { minSdkVersion 7 targetSdkVersion 18 } } ``` How can I move this code to the main build.gradle script (project's script)? This code is common for all the submodules.