Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to properly setup Gradle in Android Studio for ActionBarSherlock?

So I'm struggling to setup a very simple Project in Android Studio v0.2 with Gradle v1.6. I want to create a simple app that uses ActionBarSherlock, so I created a Project in Android Studio.
In the same root folder as the Project is created, I have downloaded the latest ABS.

So here's my structure:

|ABSAppProject 
|..settings.gradle
|..build.gradle
|--ABSApp
|....build.gradle
|actionbarsherlock
|..build.gradle

In the root settings.gradle, I have:

include ':ABSApp'
include 'actionbarsherlock'
project(':actionbarsherlock').projectDir=new File('actionbarsherlock')

In the actionbarsherlock/build.gradle I have:

apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

dependencies {
  compile 'com.google.android:support-v4:r7'
}

android {
  compileSdkVersion 14
  buildToolsVersion '17'

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

And, finally in, the ABSApp/build.gradle, I have:

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

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:r7'
    compile project (':actionbarsherlock')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 16
    }
}

The root build.gradle is empty.

When building, (using gradle build --info) I get:

Starting Build
Settings evaluated using settings file '/Users/m/Documents/Projects/ABSAppProject/settings.gradle'.
Projects loaded. Root project using build file '/Users/ma/Documents/Projects/ABSAppProject/build.gradle'.
Included projects: [root project 'ABSAppProject', project ':ABSApp', project ':actionbarsherlock']
Evaluating root project 'ABSAppProject' using build file '/Users/m/Documents/Projects/ABSAppProject/build.gradle'.
Evaluating project ':ABSApp' using build file '/Users/m/Documents/Projects/ABSAppProject/ABSApp/build.gradle'.
Evaluating project ':actionbarsherlock' using empty build file.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':ABSApp'.
> Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

Building the ABS library alone using Gradle seems to work ok, so that gradle.build file is probably ok.

What am I doing wrong?

like image 944
Magnus Johansson Avatar asked Nov 02 '22 18:11

Magnus Johansson


1 Answers

There is no need for downloading ABS separately. Gradle supports Android's new .aar format which makes using library projects easier. Just add this (or whatever version it is currently) to dependencies section in build.gradle of your project:

compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

and let Gradle handle the rest.

like image 116
Kuitsi Avatar answered Nov 09 '22 12:11

Kuitsi