android - 编译与编译树与编译文件之间的区别?

标签 android dependencies gradle android-studio build.gradle

我试图将我的项目集成到 android studio 中。但是在添加依赖项时我有点困惑。我不知道哪个效果好。我试过编译 fileTree 和编译文件。它对我不起作用。我找到了一些方法。谁能告诉我哪一个适合添加库(jar 文件只像 admob)。

            compile fileTree(dir: 'libs', include: '*.jar')
         compile 'com.android.support:appcompat-v7:+'
       compile project(":libraries:libraryname")
         compile files('libs/libraryname.jar')

最佳答案

can any one tell me which one is appropriate for adding library (jar file only like admob).

如果库在 Maven 或 Ivy 存储库(如 Maven Central)中作为 Artifact 可用,请将存储库添加到您的 repositories block (例如,mavenCentral())然后使用 compile 'com.android.support:appcompat-v7:+',将引用的字符串替换为标识所需 Artifact 的字符串。

如果库不能作为 Artifact 使用,请将 JAR 放在适当的目录中(例如,项目级别的 libs/)并使用 compile fileTree(dir: 'libs' , 包括: '*.jar').

compile project(":libraries:libraryname") 用于子项目,您可能没有。

compile files('libs/libraryname.jar') 有效,但 compile fileTree(dir: 'libs', include: '*.jar') 更有效灵活,因为您不必为每个 JAR 更改 build.gradle 文件。

关于android - 编译与编译树与编译文件之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20333193/

相关文章:

android - 更改语言环境后刷新 NavigationView 菜单

java - 无法从 Assets 文件夹中填充的 sqlite 数据库获取数据

gradle - 如何告诉gradle使用包装器(如果存在)?

facebook - 梯度构建统一期间的 FB.Init() 错误

java - Android 接近警报不工作

android - Android 上有没有办法拦截来电/短信以阻止/取消阻止它?

ios - 通过 cocoapod 为不同的项目使用不同版本的 lib

c - 可以假设哪些依赖项安装在构建机器上?

ruby-on-rails-3 - 如果关联存在,如何禁止删除

android - “依赖项”不能应用于 '(groovy.lang.Closure)'