当前位置: 首页 > 知识库问答 >
问题:

Gradle[副本]中的新实现关键字是什么

呼延原
2023-03-14

我最近更新了Android studio到3.0版本。现在,在build.gradle中,所有依赖项都是使用implementation关键字而不是旧的compile关键字添加的。

dependencies {
     implementation fileTree(include: ['*.jar'], dir: 'libs')
     implementation 'com.android.support:appcompat-v7:25.4.0'
}

但是compile关键字仍然有效。编译实现有什么区别?

共有1个答案

孙池暝
2023-03-14

compile已不推荐使用,因此用于库使用APIimplementation

Gradle3.4引入了新的Java库插件配置,允许您控制是否将依赖项发布到使用该库的项目的编译和运行时类路径。Android插件采用了这些新的依赖配置,迁移大型项目使用它们可以大大减少构建时间。

实现

如果一个实现依赖项改变了它的API,Gradle只重新编译该依赖项和直接依赖它的模块。大多数app和测试模块都应该使用这种配置。

API

当一个模块包含一个api依赖项时,它会让Gradle知道该模块希望将该依赖项传递导出到其他模块,以便它们在运行时和编译时都可用。此配置的行为与compile(现在已不推荐使用)类似,您通常只应在库模块中使用此配置。这是因为,如果一个api依赖项改变了它的外部api,Gradle会在编译时重新编译所有可以访问该依赖项的模块

从新的依赖项配置中阅读更多信息

 类似资料:
  • 我是Gradle的新手,现在正在学习配置。许多开发人员在他们的中使用配置,但我不明白这是干什么用的。 我正在阅读gradle文档,发现配置是由java插件提供的。但对我来说,这个描述还不容易。 实现仅扩展编译 实现依赖项。 这个术语中的“只执行”是什么意思?

  • 在React中键的意义是什么?我读到在循环中使用索引不是键的最佳解决方案。为什么啊?

  • 这到底是什么类型的?

  • 问题内容: Java 13引入了 用于表达式的关键字。 如何使用它,与默认值或值有什么区别? 问题答案: 问答环节 如何使用? 需要完整块时,带有箭头标签: }; 使用传统积木: }; 默认收益有什么区别? 一条语句将控制权返回给 方法 (第8.4节,第§15.12节)或 构造函数 (第8.8节和第15.9节) 的调用者, 而一条语句则通过 使一个封闭的表达式产生一个指定值来转移控制权。 突破值有

  • 我在网上搜索了“Gradle classpath site:stackoverflow.com”和“Gradle classpath”,只在以下文件中找到相关信息: Gradle:What is the difference between classpath and compile dependencies? 余登宝的回答是这样写的: 编译'org.hibernate:hibernate-cor

  • 我使用一个函数,当你调用她时,它返回字典,我应该写哪个命令来打印字典的键?谢了。