小编Mic*_*oto的帖子

使用与GoogleServices插件并行的Android DataBinding插件

是否有人能够使用与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

11
推荐指数
1
解决办法
1148
查看次数

Netflix与ReactiveX RxJava-Android库

快速提问:我是第一次玩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以上的好地方吗?

android rx-java

8
推荐指数
1
解决办法
1554
查看次数