Android Studio gradle和库导入

Bre*_*siu 5 android gradle actionbarsherlock crouton android-studio

我已成功将ActionBarSherlock导入到我的项目中,并需要导入另外两个库:Sliding LayerCrouton.我知道之前已经出现过类似的问题了,但是我几乎尝试了所有的东西,每次都以一种我必须重新开始的方式破坏项目中的某些东西.

我的项目树看起来像:

MyProject/
+ app/
+ libraries/
   + actionbarsherlock/
   + crouton/
   + slidinglayer/
Run Code Online (Sandbox Code Playgroud)

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

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

include ":libraries:actionbarsherlock", ':Krypto', ':libraries:crouton', ':libraries:slidinglayer'
Run Code Online (Sandbox Code Playgroud)

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']
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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
    }
}
Run Code Online (Sandbox Code Playgroud)

滑动层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']
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

sha*_*aca 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']
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并在您的应用build.gradle中,更改

dependencies {
    compile project(":libraries:actionbarsherlock")
}
Run Code Online (Sandbox Code Playgroud)

dependencies {
    compile project(":libraries:actionbarsherlock")
    compile project(":libraries:crouton")
    compile project(":libraries:slidinglayer")
}
Run Code Online (Sandbox Code Playgroud)

并在Android Studio中再次导入