首先,我知道这个问题的存在 - How do I add a library project to Android Studio? - 不幸的是,它没有帮助我。
我的目标很简单。我想使用Android Studio IDE(0.2.11)编写Android应用程序,并在我的代码中编写Guava libraries。
我不知道Gradle,我只是开始使用Android Studio而我的Visual Studio / C#背景让我失望了,为此我道歉(在Mickey Mouse世界中,你通常只是添加一个库参考并关闭你走)。
我将使用屏幕截图记录我的步骤。我主要遵循this answer给出的建议。
我在项目文件夹下创建了一个libraries
文件夹。
我将Guava存储库克隆到其中。
文件已成功显示。
我前往Project Structure
并选择Import Module
。
我选择Create module from existing sources
并同意所有默认选择。
我将settings.gradle
文件更新为include ':libraries:guava', ':Test'
:
我的build.gradle
文件compile project(":libraries:guava")
:
但是,每当我尝试重建项目时,我所得到的只有:
Error: Gradle: A problem occurred configuring project ':Test'.
> Failed to notify project evaluation listener.
> Configuration with name 'default' not found.
我确实尝试将build.gradle
放在guava
文件夹中:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android-library'
dependencies {
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
(正如aforementioned answer所说)。
我上下搜索,找到了番石榴的“正确”build.gradle
。
https://code.google.com/p/guava-libraries/wiki/UseGuavaInYourBuild - 也没有帮助我。
我确实尝试了无数的事情,我不会在这里描述,因为它们很随意 - 我尝试添加模块依赖项,我尝试在Use auto-import
中启用Gradle settings
等等。
我知道这不是一种解决问题的方法,我保证我会从1到5.4.2到7.3努力阅读Gradle的User Guide,但我无法相信这是实现不起眼的事情的先决条件。只是在项目中添加库?为什么没有默认的build.gradle
文件,如果有必要,可以开始摆弄各种各样的东西?
真正的问题 - 我如何创建一个构建的应用程序(在Android Studio中),实际上是在Android设备上运行,并且最重要的是允许我使用Guava以便我可以排序按值而不写50行代码的地图? :)
对于我问题的喋喋不休的语气感到抱歉,我知道在这里练习,这只是我发泄沮丧的方式。
根据解决类似问题的问题和答案的投票数来判断,我确信我不是唯一一个可以从更多指令中受益的人。我会立即开始给它一个赏金,但规则禁止我。
答案 0 :(得分:43)
如果您只需要使用稳定的,发布的Guava库版本,那么导入它非常容易。
只需转到您要使用该库的模块的build.gradle
文件(即GuavaTestProject/GuavaTest/build.gradle
),然后立即转到
repositories {
mavenCentral()
}
添加Maven依赖项:
dependencies {
compile group: 'com.google.guava', name: 'guava', version: '15.0'
}
如果需要,重建您的项目,这就是全部(现在使用Android Studio 0.2.13创建的新项目进行测试)。
如果你真的需要包含Guava库的源代码并自己编译为Gradle构建的一个模块,这是一个完全不同的问题,因为Guava是用Maven构建的,所以你需要从Maven移动Guava构建系统Gradle,我认为这对你的目标来说非常复杂。
如果您只需要在调试时浏览源或查看它,我会做的是:
在单独的文件夹中下载Guava源代码:
git clone https://code.google.com/p/guava-libraries/
git checkout v15.0
当Android Studio找不到来源时,请点击“附加来源”并指向此备用位置。
我认为如果您不需要实际修改和编译Guava源代码,这是最简单的解决方案。
答案 1 :(得分:9)
你的问题中有很多信息。
我也在使用Guava
。但我不记得经历过任何这样的麻烦..
Guava
上提供了 mavencentral
。因此,将guava添加到项目中应该相当简单。 AFAIK,您不需要签出,构建和添加项目依赖项等。
请参阅下面的我的应用程序的gradle文件。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
// Dependencies
dependencies {
compile fileTree(dir: 'libs', include: '*.jar') // jar files under the libs folder.
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // actionbarsherlock,
compile 'com.android.support:support-v4:18.0.0' // android support lib
compile 'com.google.code.gson:gson:2.2.4' // google GSON
compile 'com.google.guava:guava:14.0.1' // guava 14.0.1
}
答案 2 :(得分:8)
dependencies {
compile 'com.google.guava:guava:19.0'
}
来源:https://github.com/google/guava
编辑: 从v22开始,有特定的guava version for Android。
dependencies {
compile 'com.google.guava:guava:22.0-android'
}
*谢谢Sam:)
答案 3 :(得分:4)
不要使用完整的guava库,请使用特定于android的版本,
dependencies {
compile 'com.google.guava:guava:23.0-android'
}
答案 4 :(得分:2)
在Android Studio 0.3.0中现在可以在Mac上正常工作。有关添加库的其他选项,请参阅发行说明 http://tools.android.com/recent/androidstudio030released
我现在一直在使用Windows,有两种选择 右键单击libs中的jar,你就有了一个add to library 或者您可以推送F4并打开库设置,这样您就不必像在Mac上那样在Windows上挣扎
这就是我所做的。请阅读到最后,因为它的工作方式不一致,如果你没有看到蓝色箭头,首先尝试有一个解决方案。首先,我创建了一个libs文件夹。我不认为这是必要的,但这是一种习惯。
首先尝试转到文件,项目结构。
如果你看到左上方有一个蓝色箭头,请按下它,然后你会进入你可以添加图书馆的屏幕
如果您设法进入下面的此屏幕,请按加号并添加库。
您可能还会在底部看到一条红线,表示Guava不能用于灯泡。此填充将依赖性添加到Gradle构建文件
如果你看不到蓝色箭头
转而使用文件,其他设置,默认项目结构。
在该屏幕中,您可以添加库
然后返回项目结构并添加它。问题是它将作为所有项目的默认值保留,因此您可以通过项目结构菜单为每个项目添加和删除它。我不确定这是否是Android Studio中的错误,您可以阻止将其添加到单个项目而不更改默认值。
答案 5 :(得分:0)