相关疑难解决方法(0)

Gradle中的实现和编译之间有什么区别?

在更新到Android Studio 3.0并创建一个新项目后,我注意到build.gradle有一种新方法可以添加新的依赖项,而不是compile存在implementation而不是testCompile存在testImplementation.

例:

 implementation 'com.android.support:appcompat-v7:25.0.0'
 testImplementation 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

代替

 compile 'com.android.support:appcompat-v7:25.0.0'
 testCompile 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别,我应该使用什么?

dependency-management gradle transitive-dependency build.gradle gradle-plugin

899
推荐指数
10
解决办法
27万
查看次数

Gradle Implementation vs API配置

我正在试图弄清楚构建我的依赖项时有什么区别apiimplementation配置.
在文档中,它说implementation有更好的构建时间,但是,在类似的问题中看到这个 评论我想知道它是否属实.
由于我不是gradle的专家,我希望有人可以提供帮助.我已经阅读了文档,但我想知道一个易于理解的解释.

implementation dependencies android gradle

183
推荐指数
8
解决办法
5万
查看次数

使用Java和Kotlin文件的Android项目,kapt还是annotationProcessor?

我想知道在混合JavaKotlin文件的Android项目中,我们必须使用annotationProcessor或kapt,还是两者兼而有之?

在我的理解中,annotationProcessor必须使用注释进行代码生成的Java文件,kapt必须使用注释生成代码来生成Kotlin文件.

我有一个混合两种语言的项目,我刚刚用kapt替换了build.gradle中的所有annotationProcessor依赖项.令人惊讶的是它构建并且似乎运行正常但我不明白为什么kapt即使使用Java文件也能正常运行...

有人可以向我解释一下吗?

谢谢

java apt gradle kotlin kapt

14
推荐指数
2
解决办法
3935
查看次数

我可以在gradle中使用compileOnly替代注解处理器吗?

我对批注处理器的当前理解是,它指的是预先准备文件以查找某些批注的代码,然后基于该代码生成或更改其他代码。它发生在项目的常规编译阶段之前。

在gradle中,我们通常使用apt,kpt-我有时看到使用annotationProcessor-表示在“注释处理时”需要一些依赖。

如果上面的理解是正确的,那么compileOnly与apt,kpt等有什么不同?

gradle

2
推荐指数
1
解决办法
935
查看次数