如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
如何将库项目(如Sherlock ABS)添加到Android Studio?
(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)
当前回答
将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)中,“Project structure”选项不会对“build.gradle”进行任何自动更改。也许在下一个版本中会提供此功能。
其他回答
Android Studio 3.0
只需将库名称添加到应用程序build.gradle文件的依赖项块中。
dependencies {
// ...
implementation 'com.example:some-library:1.0.0'
}
请注意,您应该使用实现而不是现在编译。这是Android Studio 3.0的新功能。有关差异的解释,请参阅本问答。
在导入ABS模块(从文件>项目结构)并确保其具有Android 2.2和Support Library v4作为依赖项后,我仍然收到以下错误,因为您@Alex
Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'
我将新导入的模块作为依赖项添加到我的主应用程序模块中,这解决了问题。
通过GUI编辑库依赖项是不可取的,因为它不会将这些更改写入build.gradle文件。因此,您的项目不会从命令行构建。我们应该直接编辑build.gradle文件,如下所示。
例如,给定以下结构:
我的项目/
应用程序/图书馆/库1/lib2语言/
我们可以确定三个项目。Gradle将使用以下名称引用它们:
:应用程序:库:lib1:库:lib2
:app项目可能依赖于库,这是通过声明以下依赖项来实现的:
dependencies {
compile project(':libraries:lib1')
}
基本上,您可以以三种不同的方式包含JAR文件。最后一个是正在使用的远程库https://bintray.com/jcenter在线存储库。但是,如果您以其他两种方式之一执行,JAR文件将实际包含在项目中。请阅读此链接https://stackoverflow.com/a/35369267/5475941了解更多信息。在这篇文章中,我解释了如何在AndroidStudio中导入JAR文件,并解释了所有可能的方法。
总之,如果是这样的(本地地址),则会下载这些JAR文件,并且这些JAR文件实际上在项目中:
但是,如果是这样的互联网地址,它们是远程库(bintray.comjcenter部分),它们将被远程使用:
我希望这有帮助。
我发现包含外部库项目的最简单方法是(例如,包含一个存储在dependencies文件夹中的Facebook库):
在settings.gradle中添加包括“:facebook”project(':facebook').projectDir=新文件(settingsDir,'../dependencies/FacebookSDK')在build.gradle dependencies部分,添加编译项目(“facebook”)
剩下要做的就是将项目与渐变文件同步。