Ali*_*lix 10 gradle android-gradle-plugin
我在我的项目中使用Gradle 2.12(或更新版本)和适当版本的Android Gradle插件.Gradle 2.12引入了 compileOnly配置,为什么我尝试使用它时会出现错误?
无法为参数找到方法compileOnly()
stk*_*ent 12
请注意Gradle 2.12发行说明中关于新compileOnly配置的以下句子(我的重点):
您现在可以声明依赖项仅在编译时与Java插件一起使用.
所以Java Gradle插件是我们在回答这个问题时需要考虑的一个组件.我们可以compileOnly在Java Gradle插件源代码中找到声明的配置,以获得足够新的版本.
但是,Android Gradle插件不直接扩展Java Gradle插件.事实上,我认为Android插件代表了一种"frankenplugin",借用了一些功能,但没有从Java插件继承.以下大量源代码支持这一想法.
project.apply plugin: JavaBasePlugin
Run Code Online (Sandbox Code Playgroud)
因此,Android的摇篮插件从整合功能的基础的Java插件的摇篮,不从全 Java的摇篮插件.此外,还有一个明确的检查,即完整的Java Gradle插件不会与Android Gradle插件一起应用:
// get current plugins and look for the default Java plugin.
if (project.plugins.hasPlugin(JavaPlugin.class)) {
throw new BadPluginException(
"The 'java' plugin has been applied, but it is not compatible with the Android plugins.")
}
Run Code Online (Sandbox Code Playgroud)
根据这些信息,我的猜测是,compileOnly尚未手动从Java Gradle插件移植到Android Gradle插件.在我们获得最低Gradle版本设置为2.12或更高版本的Android Gradle插件之前,它可能不会出现.
| 归档时间: |
|
| 查看次数: |
3923 次 |
| 最近记录: |