在Android Studio中集成第三方库的最佳方式
我们可以find一些非常好的Android开源库。 我想知道什么是最好的方式将他们整合到我们自己的Android Studio工程中。 这里有一些基本的方法:
- 将源代码和资源文件复制到我们自己的项目中。 我们需要更改很多代码(包名称和XML中的名称等)
- 如果提供了jar文件,我只是为我的项目创buildlibs文件夹,并将jar文件复制到里面。 并在模块设置的依赖关系中添加jar文件。 但不幸的是,我收到了很多错误消息,比如“Gradle:Package com.google.gson不存在”。
是否有一个通用的规则来添加第三方源或jar文件到现有的android studio项目? 谢谢
我更喜欢使用中央存储库进行依赖关系pipe理。 所以对于gson 2.3
依赖你应该添加到build.gradle
文件中:
-
指定你想为你的依赖使用maven中央资源库
repositories {jcenter()}
-
将
compile
依赖关系添加到gson 2.6.2
dependencies {compile 'com.google.code.gson:gson:2.6.2'}
Android Studio以及您的CI服务器现在应该可以轻松构build您的项目。 而且你可以继续开发应用程序。
我更喜欢使用中央资源库进行依赖关系pipe理,因为:
- 更容易的范围pipe理 – 有些库只用于testing,一些应该包含到apk中,一些是运行环境的一部分(如android.jar本身)
- 更容易的传递依赖关系pipe理 – 收集库依赖关系是相当困难的,如果你使用“jar-with-dependencies”,你可能会得到错误“class already added”
- 更轻的库和更容易的依赖性升级
例子:
- Robolectric的jar应该只用于unit testing,不应该是apk本身的一部分
- 存储库是从不同的文件夹与jar子干净,结帐花费less得多。 没有必要下载并用新的jar子replace旧的jar子
我应该注意到:
- 没有太多的图书馆在maven中心,你应该努力在你的项目中使用它们
- 使用中央存储库方法可以更容易地得到“类已经添加”的错误
- 您可以混合使用来自中央存储库和lib文件夹的依赖关系,但为了简单起见,我更愿意只使用一种方法
- 把Gson jar(在我的情况下,
gson-2.2.4.jar
)放到libs文件夹中 - 右键点击它,然后点击“添加为库”
- 确保
compile files('libs/gson-2.2.4.jar')
在您的build.gradle
文件中 - 做一个干净的版本(你可以在Android Studio中做到这一点,但要确保我在terminal导航到我的应用程序的根文件夹并input
gradlew clean
。我在Mac OS X上,命令可能会不同你的系统
这一系列的步骤是从Android工作室:添加jar作为库? 这不是我原来的答案。 我再次在这里发布,因为在查找同一主题时,您的问题是Googlesearch结果中的第三个问题。 因此,复制。
所有的信用写给那个写这个步骤的人。
下载并复制libs
文件夹中的.jar
文件,然后添加一行到build.gradle:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this compile 'com.google.code.gson:gson:2.3.4' ----------> I added this one }
不要忘了点击“立即同步”
我正在使用Android Studio 1.1.0
下载并将您的jar文件复制到libs文件夹,然后将以下内容添加到您的app.gradle文件和SYNC。
dependencies { compile 'com.google.code.gson:gson:{version_you_need}' } repositories{ flatDir{ dirs 'libs' } }
- Android Studio无法parsing符号,但代码正确执行
- 手动安装Gradle并在Android Studio中使用它
- “app-release.apk”如何改变这个默认生成的apk名称
- Intellij(Android studio)成员variables前缀
- 如何为CTRL + Y而不是CTRL + Shift + ZconfigurationintelliJ / Android Studio重做操作
- 如何在Android Studio上生成类图(UML)
- 错误:无法运行mksdcard SDK工具
- 如何将图像导入或复制到Android Studio中的“res”文件夹?
- 如何增加Android Studio中的字体大小?