Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Studio: How to create build.gradle file for use on Jenkins?

I'm new to gradle and trying to figure out how to set it up on our Jenkins build machine. Our app builds perfectly from within Android Studio, but it doesn't ever generate a build.gradle file, which I believe I need in order to run the gradle build on Jenkins.

Any help appreciated!

like image 362
Karim Varela Avatar asked Jul 02 '13 17:07

Karim Varela


People also ask

Does Jenkins support gradle?

It is the official build tool for Android. Gradle provides integration with several development tools and servers, including Eclipse, IntelliJ, Jenkins, and Android Studio.


1 Answers

I ended up creating these build files from scratch.

Here's some guidelines:

  1. If you have a project with multiple modules, create a settings.gradle file at the root of your project (at the same level as all the modules). Your settings.gradle file should look something like this:

    include 'ActionBarSherlock'
    include ':facebook-android-sdk-3.0.1:facebook'
    include 'google-play-services_lib'
    include ':SlidingMenu-master:library'
    include 'Tinder'
    include 'ViewPagerIndicator'
    include 'volley'
    include 'windowed-seek-bar'
    
  2. Within each module, create a build.gradle file. For library projects, your build.gradle file should look something like this:

    buildscript {
        repositories {
            mavenCentral()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:0.4.2'
        }
    }
    
    apply plugin: 'android-library'
    
    dependencies {
        compile 'com.android.support:support-v4:13.0.0'
    }
    
    android {
        buildToolsVersion "17.0"
        compileSdkVersion 17
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                aidl.srcDirs = ['src']
                renderscript.srcDirs = ['src']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
    
            instrumentTest.setRoot('tests')
        }
    }
    
  3. For your main project, your build.gradle file should look like this:

    buildscript {
        repositories {
            mavenCentral()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:0.4.2'
        }
    }
    
    apply plugin: 'android'
    
    dependencies {
        compile project(':facebook-android-sdk-3.0.1:facebook')
        compile project(':google-play-services_lib')
        compile project(':SlidingMenu-master:library')
        compile project(':ViewPagerIndicator')
        compile project(':volley')
        compile project(':windowed-seek-bar')
        compile files('compile-libs/androidannotations-2.7.1.jar', 'libs/Flurry_3.2.1.jar', 'libs/google-play-services.jar', 'libs/gson-2.2.4.jar', 'libs/picasso-1.1.1.jar')
    }
    
    android {
        buildToolsVersion "17.0"
        compileSdkVersion 17
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                aidl.srcDirs = ['src']
                renderscript.srcDirs = ['src']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
        }
    }
    
like image 183
Karim Varela Avatar answered Sep 18 '22 15:09

Karim Varela