如何添加一个库项目(如福尔摩斯ABS)到Android的工作室 ?
(不老的基于Eclipse的ADT包,但新的Android工作室 。)
如何添加一个库项目(如福尔摩斯ABS)到Android的工作室 ?
(不老的基于Eclipse的ADT包,但新的Android工作室 。)
更新为Android 1.0工作室
由于Android工作室1.0发布(以及很多v1.0和我以前的答案的时候首创的一个版本之间的)一些事情发生了变化。
我的描述集中于通过摇篮文件手工添加外部库项目(为了更好地理解的过程)。 如果你想添加使用Android工作室的创建者库只是检查答案下面视觉引导(有过Android Studio 1.0和从截图之间存在一些差异,但这个过程是非常相似)。
你开始用手工添加库到您的项目之前,请考虑添加外部依赖性。 它不会弄乱你的项目结构。 几乎每一个知名的Android库可在Maven的仓库和安装需要的代码只有一行的app/build.gradle
文件:
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
添加库
这里是增加外部的Android库到我们的项目的全过程:
HelloWorld/ app/ - build.gradle // local Gradle configuration (for app only) ... - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
HelloWorld/
),创建新的文件夹: /libs
中,我们将会把我们的外部库(不需要这一步-只为保持清洁项目结构)。 /libs
文件夹。 在这个例子中,我使用PagerSlidingTabStrip库 (只是从GitHub下载ZIP,重命名库目录“PagerSlidingTabStrip”,并将其复制)这是我们项目的新结构: HelloWorld/ app/ - build.gradle // Local Gradle configuration (for app only) ... libs/ PagerSlidingTabStrip/ - build.gradle // Local Gradle configuration (for library only) - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
通过添加库编辑settings.gradle include
。 如果你像我一样使用自定义路径,你也来定义项目目录我们的图书馆。 整整settings.gradle应如下:
include ':app', ':PagerSlidingTabStrip' project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
5.1如果您遇到“默认配置”的错误,然后尝试代替步骤5本,
include ':app'
include ':libs:PagerSlidingTabStrip'
在app/build.gradle
添加我们的库项目作为一个依赖关系:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile project(":PagerSlidingTabStrip") }
6.1。 如果你是按照步骤5.1,然后按照这个,而不是6,
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":libs:PagerSlidingTabStrip")
}
如果你的库项目不具备build.gradle
文件,你必须手动创建它。 下面是例子文件:
apply plugin: 'com.android.library' dependencies { compile 'com.android.support:support-v4:21.0.3' } android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 14 targetSdkVersion 21 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } }
此外,您可以为您的项目,该项目将包含SDK版本和构建工具版本的每一个模块,以保持一致性全局配置。 只需编辑gradle.properties
文件,并添加行:
ANDROID_BUILD_MIN_SDK_VERSION=14 ANDROID_BUILD_TARGET_SDK_VERSION=21 ANDROID_BUILD_TOOLS_VERSION=21.1.3 ANDROID_BUILD_SDK_VERSION=21
现在,你可以在你使用它build.gradle
文件(在应用程序和库模块)如下图所示:
//... android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } } //...
就这样。 只要按一下,该项目与摇篮”图标同步 。 你的图书馆应该在你的项目中可用。
谷歌I / O 2013 -全新的Android SDK构建系统的关键在于构建与摇篮Android应用构建系统一个伟大的介绍:由于泽维尔Ducrohet说:
Android的工作室是所有关于编辑,调试和分析。 这不是关于建设了。
在开始的时候可能会有点混乱(特别是对那些,谁的作品Eclipse中 ,还从来没见过蚂蚁-像我一样;)),但最后摇篮给了我们一些很好的机会,它值得你去学习这个构建系统。
这里是视觉引导:
更新为Android工作室0.8.2:
在Android Studio中0.8.2,去项目结构 - > 模块下只需点击加号按钮,并选择导入现有项目和进口actionbarsherlock
。 然后同步您的摇篮文件。
如果你面对的错误
错误:SDK生成工具版本(XX.XX)太低。 所需的最低是yy.yy
刚打开build.gradle
文件actionbarsherlock
目录并更新buildToolsVersion
的建议之一。
android {
compileSdkVersion 19
buildToolsVersion 'yy.y.y'
菜单文件 - > 项目结构...:
模块 - > 导入模块
导入库模块后,选择您的项目模块并添加依赖关系:
然后选择导入的模块 :
使用菜单File - > 项目结构 - > 模块 。
我今天开始使用它。 这是一个有点不同。
对于福尔摩斯,也许你想删除自己的test目录,或添加junit.jar
文件到classpath中。
要导入的gradle使用图书馆,你可以将它添加到dependencies
你的一节build.gradle
(模块的一个)。
如
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}
Android的工作室正在改变。
存在一个名为“开放模块设置”,如果你在一个模块文件夹中的Android Studio中的项目部分(我使用的版本0.2.10),用鼠标右键单击节。
我会考虑相关性,的Android库和多项目设置必要的阅读。 请您花几分钟的时间这样做。
特别是,在非罐库项目的情况下,读出从上方源下面的代码片断:
摇篮项目也可以通过使用一个多项目的设置取决于其他项目的gradle。 多项目设置通常由具有所有项目作为定根项目的子文件夹的作品。
例如,给予以下结构:
MyProject/
+ app/
+ libraries/
+ lib1/
+ lib2/
我们可以识别3个项目。 摇篮将引用他们的名字如下:
:app
:libraries:lib1
:libraries:lib2
每个项目都会有自己的build.gradle宣布它如何被建立。 此外,将有一个名为在根宣布项目settings.gradle文件。 这给出了以下结构:
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
settings.gradle的内容很简单:
include ':app', ':libraries:lib1', ':libraries:lib2'
这定义了文件夹实际上是一个摇篮项目。
在:应用项目,很可能取决于库,而这是通过声明如下的依赖来完成:
dependencies {
compile project(':libraries:lib1')
}
请注意,有很少或根本没有使用过Android Studio GUI来实现这一目标。
我目前使用git的子模块的嵌套链接库实际库git仓库,以避免依赖混乱。
我刚刚发现了一个更简单的方法(而不是直接写入到.gradle文件)。
这是Android 1.1.0工作室。
菜单文件 - > 新建模块...:
点击“导入现有项目”。
选择所需的库和所需的模块。
点击完成。 Android的工作室将导入库到您的项目。 它会同步gradle这个文件。
导入模块添加到项目的依赖。
右键单击app文件夹 - >打开模块设置 - >去依赖选项卡 - >点击“+”按钮 - >点击模块依赖关系。
库模块将被添加到该项目的依赖。
???
利润
我发现,包括外部库项目最简单的方法是(例如包括其上存储一个目录了在文件夹依赖Facebook的库):
在settings.gradle添加
include ':facebook' project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
在依赖关系的build.gradle部分,添加
compile project ('facebook')
所有剩下要做的就是用同步的gradle文件的项目。
一个简单的方法来添加一个JAR文件作为库到Android Studio项目:
a)复制你的* .jar文件
B)粘贴到你下的项目库目录:
C)加入的build.gradle:
dependencies {
...
compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}
b) 若从例如com.example.MYProject和库com.example.ScanAPI你的项目有相同的命名空间com。示例 ,Android的工作室将检查您的构建和创建项目中的所有必要的修改。 之后,你可以回顾菜单File这些设置- > 项目结构 。
c) 若您的项目,图书馆有 ,你必须在图书馆和选择选项右键单击一个不同的命名空间 “添加库”,然后选择你所需要的类型。
还记得“项目结构”选项未Android Studio中(0.2.3)的最新版本在做“的build.gradle”任何自动变化。 也许这个功能将在未来的版本。
那么相关的build.gradle文件将自动更新。
打开你的build.gradle文件,添加一个新的构建规则的依赖关闭。 例如,如果你想加入谷歌游戏服务,您的项目依赖部分将是这个样子:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:6.5.+'
}
在项目面板中, 控制 +单击您要的依赖增加,然后选择打开模块设置模块。
选择依存关系选项卡,然后在左下角的+按钮。 您可以从下面的选项列表中选择:
然后,您可以输入要添加到您的项目依赖的更多信息。 例如,如果您选择库的依赖关系,Android Studio中显示库您选择的列表。
一旦你加入你的依赖,检查你的模块级的build.gradle文件。 它应该自动更新以包括新的依赖。
资源
在您要添加外部库项目的项目,进入菜单文件 - > 新建 - > *导入新的模块**,浏览到您要添加到您的项目中,选择要添加的“图书馆”模块中的库项目您的项目。 你会得到settings.gradle在你的项目中,应用程序的旁边,包括图书馆,像这样:
include ':app', ':library'
加入的build.gradle(模块:应用程序)在依赖关系部分:
编译项目(“:图书馆)
重建项目,仅此而已。
*您可以添加你想要的库(模块)。 在settings.gradle这种情况下,你将有:
include ':app', ':lib1', ':lib2', ...
而在的build.gradle,你需要有:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Some other dependencies...
compile project(':lib1')
compile project(':lib2')
...
}
如果您需要访问库项目的资源(如你用ABS这样做)请确保您添加库项目/模块作为“模块依赖关系”,而不是“库”。
您可以轻松地做到这一点。 进入菜单文件 - > 新建 - > 导入模块...:
浏览包含此模块的目录。 单击Finish:
转到项目结构 ,添加模块依赖关系 :
注:如果您收到一个SDK错误,更新之一。
要添加到答案:如果IDE不显示任何错误,但是当你尝试编译,你喜欢的东西:
No resource found that matches the given name 'Theme.Sherlock.Light'
库项目可能是编译为一个应用程序项目。 要改变这种情况,请访问:
菜单文件 - > 项目结构 - > 刻面 - > [库名称] - >检查“库模块”。
编辑库依赖通过GUI是不可取的,因为不写那些更改您的build.gradle文件。 所以,你的项目将无法通过命令行生成。 我们应该直接编辑的build.gradle文件,如下所示。
例如,给予以下结构:
我的项目/
我们可以找出三个项目。 摇篮将引用他们的名称如下:
在:应用项目,很可能取决于库,而这是通过声明如下的依赖来完成:
dependencies {
compile project(':libraries:lib1')
}
进口ABS模块(从文件>项目结构),并确保它拥有Android 2.2及支持库V4的依赖关系,我仍然得到下面的错误,你以后@Alex
Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'
我加入了新导入的模块作为一个依赖于我的主要应用模块和解决了这一问题。
第一种方式这是工作的MacBook。
首先选择你的builder.gradle文件作为定的屏幕:
添加的依赖等,作为选择的屏幕上:
选择同步的项目。
如果您收到类似“项目与路径‘:签名垫’不能在项目中找到‘:应用程序’”的错误,那么请使用第二种方式:
选择菜单文件 - > 新建 - > 导入模块...:
点击导入模块后,
给库的路径就像是我的MacBook路径:
单击Finish。 现在你的库被添加。
要解决这个问题,你只需要在腹部资源路径添加到您的项目生成文件,就像下面:
sourceSets {
main {
res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
}
}
于是,我重新编译没有任何错误。
如果你有过Android Studio .0.4.0,你可以在你的构建路径,创建一个新的文件夹YourApp/libraries
。 复制JAR文件。 还有,用鼠标右键点击它,“添加库”。 现在你有一个弹出窗口。 只需选择您的目录,然后按OK,这就是它。
就在库名称添加到您的应用的build.gradle文件的相关块。
dependencies {
// ...
implementation 'com.example:some-library:1.0.0'
}
请注意,您应该使用implementation
,而不是compile
了。 这是新的Android 3.0工作室。 请参见本Q&A的区别的解释。
我找到了解决办法。 它是如此简单。 按照froger_mcs说明 。
请确保您做出src文件夹中的项目结构是源文件 - >模块(源)。
基本上,您可以在三种不同的方式您的JAR文件。 最后一个是使用远程库https://bintray.com/ jcenter在线仓库。 但是,如果你在其他两个方法之一做到这一点,该JAR文件将被物理在您的项目包括在内。 请仔细阅读本链接https://stackoverflow.com/a/35369267/5475941以获取更多信息。 在这篇文章中,我解释如何导入JAR文件在Android的工作室和我解释了一切可能的方式。
总之,如果是这样的(本地地址),他们正在下载的这些JAR文件在物理上的项目:
但是,如果是这样的一个网络地址,他们是远程库(bintray.com jcenter部分),他们将被远程使用:
我希望它能帮助。
打开的gradle构建模块的应用程序文件,并添加你的依赖。 如果你下载的库,只需要导入并建立为gradle这个。
否则,加入侧gradle这个模块的应用程序库:
repositories {
maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}
第一个库将下载该库为您服务。
并编译下载库:
compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
transitive = true
}
如果您正在创建一个图书馆,你只需要导入项目作为进口新的模块。
简单地导入了Android库项目作为一个模块和的build.gradle。
应用插件:“com.android.library”
在此之后,请按照下列步骤操作:
https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0是如何增加一个JAR文件和库项目Android Studio中1.0.1的最新版本的Dropbox的链接。
请看到的截图的文档。 这是一个新的用户很容易的。
在Android Studio中,进入里面的应用程序文件夹,打开的build.gradle文件。 在这里你会看到依赖{}。 它里面可以添加库项目和同步。 现在,同步库后,将被添加到您的项目,你可以使用它的函数和类在项目中。
对于Android的工作室:
点击的build.gradle(模块:应用程序)。
并添加
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/commons-io-2.4.jar')
}
并且在目录“应用程序”,创建一个目录,“库”。 添加文件yourfile.jar:
最后,编译摇篮文件:
我有问题,所以对人的不同的原因:
repositories {
mavenCentral()
}
改变mavenCentral()来jcenter(),并添加
allprojects {
repositories {
jcenter()
}
}
我也遇到了同样的问题,然后我做以下的事情。
我导入库项目到我AndroidStudio IDE作为一个模块,使用菜单文件 - >导入模块菜单
然后我去了,我希望库项目作为依赖项目我的主要模块
右键单击主模块(在我的情况下,它的名字是应用程序 ) - >开放式模块设置- >进入依赖性选项卡- >点击+按钮(你会得到它在窗口的右侧) - >点击模块依赖- >从列表中选择您的库项目
应用更改并单击确定按钮。
它为我工作。 我希望这将帮助其他人了。
事实上,正如版本都在变化,所以改变用户界面和选项菜单上可用。 阅读大部分的答案对这些问题后,我猜你会了解Android Studio 1.1.0工作。
用鼠标选择在主级的项目(这是它表明你的应用程序的名称)。
右键单击,然后选择菜单项新建,文件夹,文件夹的资产 。
创建资源文件夹后,粘贴或复制它,你需要为你的库的任何JAR文件。
从Android Studio中的主菜单(屏幕顶部)选择File - > 项目结构 。
然后选择你的项目名称,然后转到依赖标签。
单击对话框上,选择文件相关的左下角的加号(+)。
最后打开最近创建的资产文件夹,选择您复制的JAR文件,然后单击应用和确定 。
清理和重建项目。