是否有人能够使用与GoogleServices pluginplugin并行的Android DataBinding插件?
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
classpath 'com.google.gms:google-services:1.4.0-beta3'
classpath 'com.android.databinding:dataBinder:1.0-rc1'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.databinding'
Run Code Online (Sandbox Code Playgroud)
然后整个项目爆炸了.当我删除服务插件然后数据绑定工作.
这是gradle的堆栈跟踪.
[data binding plugin]: failed to setup data binding
java.lang.NoSuchMethodError: com.android.build.gradle.AppExtension.getApplicationVariants()Lorg/gradle/api/internal/DefaultDomainObjectSet;
at android.databinding.tool.DataBinderPlugin.createXmlProcessorForApp(DataBinderPlugin.java:233)
at android.databinding.tool.DataBinderPlugin.createXmlProcessor(DataBinderPlugin.java:200)
at android.databinding.tool.DataBinderPlugin.access$200(DataBinderPlugin.java:65)
at android.databinding.tool.DataBinderPlugin$1.execute(DataBinderPlugin.java:156)
at android.databinding.tool.DataBinderPlugin$1.execute(DataBinderPlugin.java:152)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:113)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:102)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy10.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:488)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:86)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:82)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:75)
at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42)
at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:44)
at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42)
at org.gradle.execution.DefaultBuildExecuter.access$100(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:48)
at org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47)
at …Run Code Online (Sandbox Code Playgroud) android google-play-services android-gradle-plugin google-app-invites android-databinding
快速提问:我是第一次玩RxJava.我看过的教程的作者都深入研究了如何使用它,但是没有人讨论过ReactiveX和Netflix版本库之间的差异.为了混淆事情,Netfix GitHub的mvnrepository链接重定向到ReactiveX:
所以,有些教程说这样做:
dependencies {
compile 'io.reactivex:rxandroid:1.0.1'
compile 'io.reactivex:rxjava:1.0.16'
}
Run Code Online (Sandbox Code Playgroud)
其他人说这样做:
dependencies {
compile 'com.netflix.rxjava:rxjava-core:0.20.7'
compile 'com.netflix.rxjava:rxjava-android:0.20.7'
}
Run Code Online (Sandbox Code Playgroud)
甚至在同一个SO问题上的不同答案似乎也可以互换地使用这两个答案:
显然他们不一样.我发现AndroidObservableReactiveX版本中没有该类.只有Netflix版本.显然版本号不同......
我错过了什么?这只是我一直在阅读的文档中缺乏清晰度吗?我在读错了文件吗?有人能指出一个我可以RTFM以上的好地方吗?