Android Studio gradle和库导入

时间:2013-08-08 12:46:23

标签: android actionbarsherlock gradle android-studio crouton

我已成功将ActionBarSherlock导入我的项目,并需要导入另外两个库:Sliding LayerCrouton。我知道之前已经出现过类似的问题,但是我几乎尝试了所有的事情,每次都以一种我不得不重新启动的方式打破项目中的某些内容。

我的项目树看起来像:

MyProject/
+ app/
+ libraries/
   + actionbarsherlock/
   + crouton/
   + slidinglayer/

我将这两个库导入为模块(文件 - >导入模块)

我的setting.gradle文件看起来应该是:

include ":libraries:actionbarsherlock", ':Krypto', ':libraries:crouton', ':libraries:slidinglayer'

actionbarsherlock gradle:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

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

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }

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

app gradle:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile project(":libraries:actionbarsherlock")
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

slidinglayer gradle:

apply plugin: 'android-library'

dependencies {
    compile "com.android.support:support-v4:18.0.0"
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 4
        targetSdkVersion 18
    }

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

在crouton文件夹中没有gradle.build文件。应该怎么样? Theres只有java文件(没有资源)。

如何在crouton和滑动层库中正确设置依赖项?

2 个答案:

答案 0 :(得分:5)

build.gradle for crouton

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

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

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 17
    }

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

并在您的app build.gradle中,更改

dependencies {
    compile project(":libraries:actionbarsherlock")
}

dependencies {
    compile project(":libraries:actionbarsherlock")
    compile project(":libraries:crouton")
    compile project(":libraries:slidinglayer")
}

并在Android Studio中再次导入

答案 1 :(得分:1)

我不知道如何解决您的问题,但当我在Gradle构建中遇到第三方库使用问题时,我通过以下方式解决了。

以下是我的项目结构。

GsonDemoProject
 GsonDemo
建立

Android的支持,v4.jar
gson.jar
SRC
主要
的build.gradle
的build.gradle
settings.gradle

我编辑了位于build.gradle目录中的src文件。

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

我将第三方库的引用放在dependencies标签中,如上所述。在我的项目中libs是放置库的目录。