【问题标题】:Android Studio gradle and libraries importAndroid Studio gradle 和库导入
【发布时间】:2013-08-08 12:46:22
【问题描述】:

我已成功将 ActionBarSherlock 导入我的项目,还需要导入另外两个库:Sliding LayerCrouton。我知道以前在这里已经出现过类似的问题,但我几乎尝试了所有方法,每次都以我不得不重新开始的方式破坏项目中的某些内容。

我的项目树如下所示:

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

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

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

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

actionbarsherlock 分级:

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']
        }
    }
}

应用分级:

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
    }
}

滑动层渐变:

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 文件。它应该是什么样子?只有 java 文件(没有资源)。

如何在crouton和slidinglayer库中正确设置依赖?

【问题讨论】:

    标签: android actionbarsherlock gradle android-studio crouton


    【解决方案1】:

    用于面包块的 build.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 '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']
            }
        }
    }
    

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

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

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

    然后在 Android Studio 中再次导入

    【讨论】:

      【解决方案2】:

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

      以下是我的项目结构。

      GsonDemoProject
      Gson演示
      构建

      android-support-v4.jar
      gson.jar
      来源
      主要
      构建.gradle
      构建.gradle
      settings.gradle

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

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

      我将第 3 方库的引用放在上面的 dependencies 标记中。在我的项目中,libs 是存放库的目录。

      【讨论】:

      • 我已尝试将 crouton 库添加到“actionbarsherlock/libs”,并按照您的建议将“libs/crouton”添加到 build.gradle - 仍然有错误。此外,我尝试了类似的想法,将“编译文件”添加到 app build.gradle 中的依赖项中 - 仍然没有结果。
      • @Bresiu,您的库在libs 目录中吗?试试compile files('libs/android-support-v4.jar','libs/actionbarsherlock.jar','libs/crouton.jar')。正如您在代码中看到的,.jar 是强制性的。 :)
      • 这些库不是 .jars。这些是标记为库的普通项目。正如我所说,我已尝试将其添加到 actionbarsherlock 内的 libs 文件夹中,在第二次尝试中,我尝试将库粘贴到 apps libs 文件夹中。没有成功。我不明白这些gradle的东西。在本教程中,我成功导入的唯一库是 actionbarsherlock:stackoverflow.com/a/16639227/1888738,在 cmets 中给出了一些更改。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多