是否有任何方法或变通方法或只是提示从gradle和gradle-experimental一起工作的插件?
例如,混合这两个版本:
com.android.tools.build:gradle:1.3.1 com.android.tools.build:gradle-experimental:0.3.0-alpha4
我有一个使用一些外部插件的现有项目(app / build.gradle):
apply plugin: 'com.android.model.application' apply plugin: 'com.android.databinding' apply plugin: 'com.jakewharton.hugo'
在我的root build.gradle中我有:
com.android.tools.build:gradle-experimental:0.3.0-alpha4
我有的问题:
* What went wrong: A problem occurred evaluating project ':app'. > Failed to apply plugin [id 'com.android.databinding'] > java.lang.NullPointerException (no error message)
要么
* What went wrong: A problem occurred evaluating project ':app'. > Failed to apply plugin [id 'com.jakewharton.hugo'] > 'android' or 'android-library' plugin required.
没有其他插件我的项目工作正常(我的Android库有一些NDK代码,从我的主项目调用.当我在任何其他插件上添加提到的插件时出现问题.
问题是 – 它是一个实验问题或每个插件的问题(hugo,数据绑定,apt,可能更多).
或者,如果有任何其他方法可以使用当前稳定的gradle插件和库(使用NDK代码)使用gradle-experimental?
我想要避免的是处理* .mk文件和(尽可能完整)Android Studio支持.更大的图片是使用NDK代码(只是简单的计算)准备.aar库,它将能够插入到现有项目中.
解决方法
通过在我的项目中使用最新版本,我已经能够混合gradle stable和-experimental android插件而没有任何问题.
您应该能够在项目的build.gradle文件中定义两个依赖项:
dependencies { classpath 'com.android.tools.build:gradle-experimental:0.3.0-alpha7' classpath 'com.android.tools.build:gradle:1.4.0-beta6' }
然后从各种模块的build.gradle文件中使用apply com.android.(application | library)或com.android.model.(application | library).