如何将库项目(例如Sherlock ABS)添加到androidStudio?
(不是旧的基于Eclipse的ADT包,而是新的androidStudio。)
使用菜单文件->项目结构->模块。
我今天开始使用它。它有点不同。
对于Sherlock,也许您想删除他们的测试目录,或者将junit.jar文件添加到类路径中。
junit.jar
要使用gradle导入库,您必须将其添加到build.gradle的dependencies部分(模块的一个)。
build.gradle
dependencies
例如。
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 Studio正在发生变化。
有一个名为“打开模块设置”的部分,如果您右键单击Android项目部分中的模块文件夹Studio(我使用的是0.2.10版本)。
在导入ABS模块(从文件>项目结构)并确保它具有Android 2.2和Support Library v4作为依赖项后,我仍然收到以下错误
Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'
我将新导入的模块作为依赖项添加到我的主端模块并修复了问题。
如果您需要访问库项目的资源(就像您使用ABS一样),请确保将库项目/模块添加为“模块依赖项”而不是“库”。
如果IDE没有显示任何错误,但是当你尝试编译时,你会得到类似的结果:
No resource found that matches the given name 'Theme.Sherlock.Light'
您的库项目可能被编译为应用程序项目。要更改此项,请转到:
菜单文件->项目结构->面->[库名称]->选中“库模块”。
以下是视觉指南:
更新对于Android Studio 0.8.2:
在Android Studio 0.8.2中,转到项目结构->在模块下只需点击加号按钮并选择导入现有项目并导入actionbarsherlock。然后同步您的Gradle文件。
actionbarsherlock
如果你面对错误
错误:SDK构建工具修订版(xx. x. x)太低。最低需要的是yy. y. y
只需打开actionbarsherlock目录中的build.gradle文件并将buildToolsVersion更新为建议的文件。
buildToolsVersion
android {compileSdkVersion 19buildToolsVersion 'yy.y.y'
菜单文件->项目结构…:
模块->导入模块
导入库模块后,选择你项目模块并添加依赖项:
然后选择导入模块:
Android Studio 1.0更新
自从Android Studio 1.0发布以来(以及v1.0和我之前回答的第一个版本之间的许多版本),有些事情发生了变化。
我的描述主要是通过Gradle文件手动添加外部库项目(为了更好地理解过程)。如果你想通过Android Studio creator添加库,只需通过可视化指南选中下面的的答案(Android Studio 1.0和截图中的有一些差异,但过程非常相似)。
在开始手动向项目添加库之前,请考虑添加外部依赖项。它不会弄乱你的项目结构。几乎所有著名的Android库都在Maven存储库中可用,其安装只需app/build.gradle文件中的一行代码:
app/build.gradle
dependencies {implementation '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
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...
通过将您的库添加到include来编辑settings.gradle。如果您像我一样使用自定义路径,您还必须为我们的库定义项目目录。整个settings.gradle应如下所示:
include
include ':app', ':PagerSlidingTabStrip'project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
5.1如果您面临“默认配置”错误,请尝试此操作而不是步骤5,
include ':app'include ':libs:PagerSlidingTabStrip'
在app/build.gradle中添加我们的库项目作为依赖项:
dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'com.android.support:appcompat-v7:21.0.3'implementation project(":PagerSlidingTabStrip")}
6.1。如果您遵循了步骤5.1,则遵循此而不是6,
dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'com.android.support:appcompat-v7:21.0.3' implementation project(":libs:PagerSlidingTabStrip")}
如果您的库项目没有build.gradle文件,您必须手动创建它。这是该文件的示例:
apply plugin: 'com.android.library' dependencies {implementation 'com.android.support:support-v4:21.0.3'} android {compileSdkVersion 21buildToolsVersion "21.1.2" defaultConfig {minSdkVersion 14targetSdkVersion 21} sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']res.srcDirs = ['res']}}}
此外,您可以为您的项目创建一个全局配置,该配置将包含每个模块的SDK版本和构建工具版本,以保持一致性。只需编辑gradle.properties文件并添加行:
gradle.properties
ANDROID_BUILD_MIN_SDK_VERSION=14ANDROID_BUILD_TARGET_SDK_VERSION=21ANDROID_BUILD_TOOLS_VERSION=21.1.3ANDROID_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)}}//...
仅此而已。只需单击'将项目与Gradle同步'图标。您的库应该在您的项目中可用。
Google I/O 2013-新的Android SDK构建系统是关于使用Gradle Build System构建Android应用程序的精彩演示:正如Xavier Ducrohet所说:
Android Studio是关于编辑、调试和分析的。这不是关于建设更多
一开始可能会有点混乱(尤其是对于那些与Eclipse一起工作并且从未见过蚂蚁的人-像我一样 ;) ), 但最终Gradle给了我们一些很好的机会,值得学习这个构建系统。
要解决此问题,您只需将abs资源路径添加到项目构建文件中,如下所示:
sourceSets {main {res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']}}
所以,我再次编译没有任何错误。
通过GUI编辑库依赖项是不可取的,因为这不会将这些更改写入您的build.gradle文件。因此您的项目不会从命令行构建。我们应该直接编辑build.gradle文件,如下所示。
例如,给出以下结构:
MyProject/
我们可以确定三个项目。Gradle将使用以下名称引用它们:
: app项目可能依赖于库,这是通过声明以下依赖项来完成的:
dependencies {compile project(':libraries:lib1')}
我找到了解决方案。很简单。按照froger_mcs指示。
在项目结构中确保将src文件夹设为Source文件夹->模块(源)。
将JAR文件作为库添加到Android Studio项目的简单方法:
a)复制您的*. jar文件
b)粘贴到项目下的libs目录中:
(c)build.gradle:
dependencies {...compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)}
b)如果示例中的项目com.example.MYProject和库com.example.ScanAPI具有相同的命名空间com.example,Android Studio将检查您的构建并在您的项目中创建所有必要的更改。之后,您可以在菜单文件->项目结构中查看这些设置。
c)如果您的项目和库有不同的命名空间您必须右键单击库并选择选项“添加为库”并选择您需要的类型。
请记住,在当前版本的Android Studio(0.2.3)中,“项目结构”选项不会在“build.gradle”中进行任何自动更改。也许此功能将在下一个版本中可用。
我认为依赖项、Android库和多项目设置是必要的阅读。请花几分钟时间这样做。
特别是,在非jar库项目的情况下,从上面的源代码中读取以下片段:
Gradle项目也可以通过使用多项目设置来依赖其他gradle项目。多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作。 例如,给定以下结构:
Gradle项目也可以通过使用多项目设置来依赖其他gradle项目。多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作。
例如,给定以下结构:
MyProject/+ app/+ libraries/+ lib1/+ lib2/
我们可以确定3个项目。Gradle将使用以下名称引用它们:
: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'
这定义了哪个文件夹实际上是Gradle项目。 : app项目可能依赖于库,这是通过声明以下依赖项来完成的:
这定义了哪个文件夹实际上是Gradle项目。
请注意,很少或根本没有使用Android Studio GUI来实现这一目标。
我目前使用git子模块将嵌套库链接到实际的库git存储库,以避免依赖关系混乱。
如果您有Android Studio.0.4.0,您可以在构建路径中创建一个新文件夹,YourApp/libraries。复制JAR文件。在那里,右键单击它并“添加为库”。现在您有了一个弹出窗口。只需选择您的目录并按OK,就是这样。
YourApp/libraries
我发现包含外部库项目的最简单方法是(例如,包含一个存储在依赖项文件夹中的一个目录中的Facebook库):
settings.gradle添加
include ':facebook' project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
In build.gradle dependencies section, add
compile project ('facebook')
All left to do is synchronise the project with gradle files.
我有一个不同的问题原因,所以对于人们来说:
repositories {mavenCentral()}
将mavenCentral()更改为jcenter()并添加
allprojects {repositories {jcenter()}}
https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0是如何在最新版本的Android Studio 1.0.1中添加JAR文件和库项目的Dropbox链接。
请查看带有屏幕截图的留档。对于新用户来说非常容易。
打开build gradle模块应用程序文件并添加你的依赖项。如果您下载了库,只需导入并以gradle身份构建。
否则在side gradle模块应用程序中添加存储库:
repositories {maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }}
第一个存储库将为您下载库。
并编译下载的库:
compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {transitive = true}
如果您正在创建一个库,您只需要将项目作为导入新模块导入。
事实上,随着版本的变化,菜单上可用的用户交互界面和选项也在变化。在阅读了这些问题的大部分答案后,我不得不猜测什么适用于Android Studio 1.1.0。
使用鼠标,在主级别选择项目(这是显示应用程序名称的位置)。
右键单击,然后选择菜单选项New, Folder, Asset Folder。
创建资产文件夹后,在其中粘贴或复制您需要的库的任何JAR文件。
从Android Studio的主菜单(屏幕顶部)选择File->Project结构。
然后选择您的项目名称并转到Depend的选项卡。
单击对话框左下角的加号(+)并选择文件依赖项。
最后打开最近创建的资产文件夹,选择您复制的JAR文件,然后单击应用和OK。
清理和重建您的项目。
相关的build.gradle文件将自动更新。
打开您的build.gradle文件并将新的构建规则添加到依赖项闭包。例如,如果您想添加Google Play服务,您的项目的依赖项部分将如下所示:
dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.google.android.gms:play-services:6.5.+'}
在项目面板中,控制+单击要添加依赖项的模块,然后选择打开模块设置。
选择依赖项选项卡,然后是左下角的+按钮。您可以从以下选项列表中进行选择:
然后,您可以输入有关要添加到项目中的依赖项的详细信息。例如,如果您选择库依赖项,Android Studio会显示一个库列表供您选择。
添加依赖项后,检查模块级build.gradle文件。它应该已经自动更新以包含新的依赖项。
来源
我也遇到了同样的问题,然后我做了以下事情。
我使用菜单File->导入模块菜单将库项目作为模块导入我的AndroidStudio IDE
然后我去了我的主模块,我希望库项目作为一个依赖项目
右键单击主模块(在我的情况下,它的名字是app)->打开模块设置->进入依赖项选项卡->单击+按钮(您将在窗口右侧获得它)->单击模块依赖项->从列表中选择您的库项目
应用更改并单击好的按钮。
它对我有用,我希望它也能帮助其他人。
只需将Android库项目作为模块导入并在Build.gradle中。
应用插件:com.android.library
之后,遵循以下步骤:
我刚刚找到了一种更简单的方法(而不是直接写入. gradle文件)。
适用于Android Studio 1.1.0。
菜单文件->新模块…:
点击“导入现有项目”。
选择所需的库和所需的模块。
单击完成。Android Studio将把库导入到您的项目中。它将同步gradle文件。
将导入的模块添加到项目的依赖项中。
右键单击应用程序文件夹->打开模块设置->转到依赖项选项卡->单击“+”按钮->单击模块依赖项。
然后将库模块添加到项目的依赖项中。
????
利润
在要添加外部库项目的项目中,转到菜单文件->新->*导入新模块**,导航到要添加到项目中的库项目,选择在项目中添加“库”模块。您将在项目中获得settings.gradle,在应用程序旁边,包含库,如下所示:
include ':app', ':library'
在依赖项部分添加build.gradle(模块:应用程序):
编译项目(': Library')
重建项目,仅此而已。
*您可以根据需要添加任意数量的库(模块)。在这种情况下,settings.gradle您将拥有:
include ':app', ':lib1', ':lib2', ...
在build.gradle,你需要:
dependencies {compile fileTree(dir: 'libs', include: ['*.jar']) // Some other dependencies... compile project(':lib1')compile project(':lib2')...}
对于Android Studio:
点击Build.gradle(模块:应用)。
并添加为
dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')compile files('libs/commons-io-2.4.jar')}
然后在目录“app”中创建一个目录“libs”。添加文件yourfile.jar:
最后,编译Gradle文件:
第一种方式这适用于MacBook。
首先选择您的builder.gradle文件作为给定屏幕:
添加依赖项,如在所选屏幕上:
选择同步项目。
如果您在project': app'中找不到“Project with path': Signital-pad'”之类的错误,请使用第二种方法:
选择菜单文件->新->导入模块…:
点击导入模块后,
给出库的路径,就像我的MacBook路径一样:
单击完成。现在添加了您的库。
基本上,您可以通过三种不同的方式包含您的JAR文件。最后一个是使用https://bintray.com/ jcenter在线存储库的远程库。但是,如果您以其他两种方式之一执行此操作,JAR文件将物理包含在您的项目中。请阅读此链接https://stackoverflow.com/a/35369267/5475941以获取更多信息。在这篇文章中,我解释了如何在Android Studio中导入您的JAR文件,并解释了所有可能的方法。
总之,如果它像这样(本地地址),它们被下载并且这些JAR文件物理上位于项目中:
但是,如果它是这样的Internet地址,它们是远程库(bintray.comjcenter部分),它们将被远程使用:
希望有帮助。
在Android Studio中,转到应用程序文件夹内部,然后打开build.gradle文件。在这里,您将看到依赖项{}。在其中,您可以添加库项目并进行同步。现在,同步库后,它将被添加到您的项目中,您可以在项目中使用它的函数和类。
您可以轻松完成此操作。转到菜单文件->新->导入模块…:
浏览包含模块的目录。单击完成:
转到项目结构并添加模块依赖:
注意:如果您收到SDK错误,请更新该错误。
只需将库名称添加到应用程序build.gradle文件的依赖项块中。
dependencies {// ...implementation 'com.example:some-library:1.0.0'}
请注意,您现在应该使用implementation而不是compile。这是Android Studio 3.0的新功能。有关差异的解释,请参阅本次问答。
implementation
compile
将其添加到构建gradle文件中:
dependencies {implementation 'com.jakewharton:butterknife:9.0.0'}
您可以使用Gradle dependency configuration关于我们在您的项目中添加一些依赖项
Gradle dependency configuration
/build.gradle
dependencies {//<gradle_dependency_configuration> '<dependency_name>:<dependency_version>'//e.g.implementation 'com.android.support:appcompat-v7:1.1.1'}