Ale*_*tin 788 android android-library android-studio
如何将库项目(如Sherlock ABS)添加到Android Studio?
(不是旧的基于Eclipse的ADT捆绑包,而是新的Android Studio.)
fro*_*mcs 711
Android Studio 1.0更新
自Android Studio 1.0发布以来(v1.0与我之前回答时的第一个版本之间有很多版本),一些事情发生了变化.
我的描述侧重于通过Gradle文件手动添加外部库项目(以便更好地理解该过程).如果您想通过Android Studio创建者添加库,只需使用可视指南检查下面的答案(Android Studio 1.0与截图中的内容存在一些差异,但过程非常相似).
在开始手动向项目添加库之前,请考虑添加外部依赖项.它不会搞乱您的项目结构.几乎每个着名的Android库都可以在Maven存储库中使用,并且它的安装只需要在app/build.gradle文件中包含一行代码:
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
Run Code Online (Sandbox Code Playgroud)
添加库
以下是将外部Android库添加到项目的完整过程:
Run Code Online (Sandbox Code Playgroud)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"并复制它).这是我们项目的新结构:Run Code Online (Sandbox Code Playgroud)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')
Run Code Online (Sandbox Code Playgroud)5.1如果您遇到"默认配置"错误,请尝试此操作而不是步骤5,
include ':app'
include ':libs:PagerSlidingTabStrip'
Run Code Online (Sandbox Code Playgroud)
在app/build.gradle添加我们的库项目作为一个依赖关系:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":PagerSlidingTabStrip")
}
Run Code Online (Sandbox Code Playgroud)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")
}
Run Code Online (Sandbox Code Playgroud)
如果您的库项目没有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']
}
}
}
Run Code Online (Sandbox Code Playgroud)此外,您可以为项目创建全局配置,其中包含每个模块的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
Run Code Online (Sandbox Code Playgroud)
现在您可以在build.gradle文件中使用它(在app和库模块中),如下所示:
//...
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)
}
}
//...
Run Code Online (Sandbox Code Playgroud)就这样.只需单击,将项目与Gradle'图标同步
.您的图书馆应该在您的项目中可用.
Google I/O 2013 - 新的Android SDK构建系统是一个关于使用Gradle Build System构建Android应用程序的精彩演示:正如Xavier Ducrohet所说:
Android Studio完全是关于编辑,调试和分析.这不再是建筑了.
一开始它可能有点令人困惑(特别是那些与Eclipse合作并且从未见过蚂蚁的人 - 比如我;)),但最后Gradle给了我们一些很好的机会,值得学习这个构建系统.
Sam*_*Rad 274
这是视觉指南:
Android Studio 0.8.2 更新:
在Android Studio 0.8.2中,转到项目结构 - >在模块下,点击加号按钮,然后选择导入现有项目并导入actionbarsherlock.然后同步Gradle文件.
如果您遇到错误
错误:SDK Build Tools修订版(xx.xx)太低.最低要求是yy.yy
只需打开目录中的build.gradle文件actionbarsherlock并更新buildToolsVersion为建议的文件.
android {
compileSdkVersion 19
buildToolsVersion 'yy.y.y'
Run Code Online (Sandbox Code Playgroud)

菜单文件 - > 项目结构......:

模块 - > 导入模块

导入库模块后,选择您的项目模块并添加依赖关系:

然后选择导入的模块:

Bla*_*elt 111
使用菜单文件 - > 项目结构 - > 模块.
我今天开始使用它.它有点不同.
对于Sherlock,您可能希望删除其测试目录,或将该junit.jar文件添加到类路径中.
要导入的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'
}
Run Code Online (Sandbox Code Playgroud)
Android Studio正在发生变化.
如果右键单击Android Studio项目部分中的模块文件夹(我使用的是版本0.2.10),则存在名为"打开模块设置"的部分.
Jon*_*Lin 51
我会考虑依赖,Android库和多项目设置必要的阅读.请花几分钟时间.
特别是,对于非jar库项目,请从上面的源代码中阅读以下代码段:
Gradle项目还可以通过使用多项目设置来依赖其他gradle项目.多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作.
例如,给出以下结构:
MyProject/
+ app/
+ libraries/
+ lib1/
+ lib2/
Run Code Online (Sandbox Code Playgroud)
我们可以确定3个项目.Gradle将使用以下名称引用它们:
:app
:libraries:lib1
:libraries:lib2
Run Code Online (Sandbox Code Playgroud)
每个项目都有自己的build.gradle来声明它是如何构建的.此外,根目录中会有一个名为settings.gradle的文件,用于声明项目.这给出了以下结构:
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
Run Code Online (Sandbox Code Playgroud)
settings.gradle的内容非常简单:
include ':app', ':libraries:lib1', ':libraries:lib2'
Run Code Online (Sandbox Code Playgroud)
这定义了哪个文件夹实际上是Gradle项目.
:app项目可能依赖于库,这是通过声明以下依赖项来完成的:
dependencies {
compile project(':libraries:lib1')
}
Run Code Online (Sandbox Code Playgroud)
请注意,很少或根本没有使用Android Studio GUI来实现这一目标.
我目前正在使用git子模块将嵌套库链接到实际的库git repo,以避免依赖混乱.
Ren*_*hel 25
我刚刚找到了一种更简单的方法(而不是直接写入.gradle文件).
这适用于Android Studio 1.1.0.
菜单文件 - > 新模块......:

单击"导入现有项目".
选择所需的库和所需的模块.
点击完成.Android Studio会将库导入您的项目.它将同步gradle文件.
将导入的模块添加到项目的依赖项中.
右键单击app文件夹 - >打开模块设置 - >转到依赖项选项卡 - >单击"+"按钮 - >单击"模块依赖项".
然后,库模块将添加到项目的依赖项中.

???
利润
Vil*_*len 17
我发现包含外部库项目的最简单方法是(例如,包含一个存储在依赖项文件夹中的一个目录的Facebook库):
在settings.gradle中添加
include ':facebook'
project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
Run Code Online (Sandbox Code Playgroud)在build.gradle依赖项部分中,添加
compile project ('facebook')
Run Code Online (Sandbox Code Playgroud)剩下要做的就是将项目与gradle文件同步.
小智 15
将JAR文件作为库添加到Android Studio项目的简单方法:
a)复制*.jar文件
b)粘贴到项目下的libs目录中:

c)添加到build.gradle:
dependencies {
...
compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}
Run Code Online (Sandbox Code Playgroud)
B)如果从例如com.example.MYProject和库com.example.ScanAPI你的项目有相同的命名空间com.示例,Android的工作室将检查您的构建和创建项目中的所有必要的修改.之后,您可以在菜单文件 - > 项目结构中查看这些设置.
c)如果您的项目和库具有不同的命名空间,则必须右键单击库并选择"添加为库"选项并选择所需的类型.
请记住,"项目结构"选项未在当前版本的Android Studio(0.2.3)中的"build.gradle"中进行任何自动更改.也许这个功能将在下一个版本中提供.
pat*_*ran 12
然后,相关的build.gradle文件将自动更新.
打开build.gradle文件,并将新的构建规则添加到依赖项闭包中.例如,如果您要添加Google Play服务,则项目的依赖项部分将如下所示:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:6.5.+'
}
Run Code Online (Sandbox Code Playgroud)
在"项目"面板中,Control单击要添加依赖项的模块,然后选择"打开模块设置".

选择Dependencies选项卡,然后选择左下角的+按钮.您可以从以下选项列表中进行选择:
然后,您可以输入有关要添加到项目中的依赖项的更多信息.例如,如果选择Library Dependency,则Android Studio会显示一个库列表供您选择.
添加依赖项后,请检查模块级build.gradle文件.它应该已自动更新以包含新的依赖项.
pan*_*ear 10
在要添加外部库项目的项目中,转到菜单文件 - > 新建 - >*导入新模块**,导航到要添加到项目中的库项目,选择添加'库'模块你的项目.您将在项目中获得settings.gradle,包括app,包含库,如下所示:
include ':app', ':library'
Run Code Online (Sandbox Code Playgroud)
在依赖项部分中添加build.gradle(Module:app):
编译项目(':library')
重建项目,就是这样.
*您可以根据需要添加任意数量的库(模块).在settings.gradle的情况下,您将拥有:
include ':app', ':lib1', ':lib2', ...
Run Code Online (Sandbox Code Playgroud)
在build.gradle中,您需要:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Some other dependencies...
compile project(':lib1')
compile project(':lib2')
...
}
Run Code Online (Sandbox Code Playgroud)
你可以轻松地做到这一点.转到菜单文件 - > 新建 - > 导入模块...:
浏览包含该模块的目录.单击完成:
转到项目结构并添加模块依赖项:
注意:如果收到SDK错误,请更新该错误.
不建议通过GUI编辑库依赖项,因为它不会将这些更改写入build.gradle文件.所以你的项目不会从命令行构建.我们应该直接编辑build.gradle文件,如下所示.
例如,给出以下结构:
我的项目/
我们可以确定三个项目.Gradle将使用以下名称引用它们:
:app项目可能依赖于库,这是通过声明以下依赖项来完成的:
dependencies {
compile project(':libraries:lib1')
}
Run Code Online (Sandbox Code Playgroud)
添加答案:如果IDE没有显示任何错误,但是当您尝试编译时,您会得到类似的结果:
No resource found that matches the given name 'Theme.Sherlock.Light'
Run Code Online (Sandbox Code Playgroud)
您的库项目可能被编译为应用程序项目.要更改此信息,请转到:
菜单文件 - > 项目结构 - > 构面 - > [库名] - >选中"库模块".
小智 5
第一种方式这适用于MacBook。
首先选择给定屏幕的builder.gradle文件:
添加依赖项,如在所选屏幕上所示:
选择同步项目。
如果遇到类似“ Project with path':signature-pad'在项目':app'中找不到”的错误,请使用第二种方法:
选择菜单文件 -> 新建 -> 导入模块...:
点击导入模块后,
给库的路径就像我的MacBook路径:
点击完成。现在,您的库已添加。
只需将库名称添加到应用程序的build.gradle文件的依赖项块中。
dependencies {
// ...
implementation 'com.example:some-library:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)
请注意,您应该使用implementation而不是compile现在。这是 Android Studio 3.0 的新功能。有关差异的解释,请参阅此问答。
| 归档时间: |
|
| 查看次数: |
609493 次 |
| 最近记录: |