android - 如何在项目中包含 RxAndroid?

标签 android rx-java

我正在使用 Android Studio。如何将 RxAndroid 作为子项目包含在我的项目中?我想从源代码构建它。 我试过的: - 将其作为 git 子模块包含在内。 -将其包含在我的项目 settings.gradle 文件中,“包括‘:rxandroid’、‘:app’”

然后我得到:错误:无法找到 Gradle 路径为“:rxandroid”的模块。

编辑

我的文件夹结构如下。

Project
-app
-rxandroid

编辑2

我将文件夹名称从 rxandroid 更改为 RxAndroid。我也更改了项目settings.gradle中的名称,但我仍然得到同样的错误。

最佳答案

根据 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup它应该只需将 settings.gradle 更改为:

include ':app', ':RxAndroid'

它确实对我有用。我的设置是

编辑:

我应该提一下,我仍在运行 Gradle 1.12。我在Android Studio中新建了一个空白项目,在settings.gradle中添加了RxAndroid,出现了构建错误:

Error:Cause: startup failed:
Could not instantiate global transform class org.spockframework.compiler.SpockTransform specified at jar:file:/path/spock-core/0.7-groovy-1.8/3a677d19e8d3acf3bd296c4023356256d55da5a3/spock-core-0.7-groovy-1.8.jar!/META-INF/services/org.codehaus.groovy.transform.ASTTransformation  because of exception org.spockframework.util.IncompatibleGroovyVersionException: The Spock compiler plugin cannot execute because Spock 0.7.0-groovy-1.8 is not compatible with Groovy 2.3.6. For more information, see http://versioninfo.spockframework.org
Spock location: file:/path/spock-core-0.7-groovy-1.8.jar
Groovy location: file:/path/gradle-2.1/lib/groovy-all-2.3.6.jar

RxAndroid 似乎依赖于 Spock 0.7-groovy-1.8,它不能与 Gradle 2.1 的 Groovy 2.3.6 一起工作。最新的 com.android.tools.build (0.13.x) 需要 Gradle 2.1。

所以我做了以下事情:

  • 在顶层 build.gradle(不是应用程序)中,将项目对 com.android.tools.build 的依赖改回 0.12.+
  • 将 gradle-wrapper.properties 中的 Gradle 版本改回 1.12

现在项目构建成功。

关于android - 如何在项目中包含 RxAndroid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493933/

相关文章:

java - 在相机预览中计算颜色

java - Android - 如何连续运行一个线程,一个接一个

android - RxJava/Retrofit - 如何强制用户使用订阅者的特定子类?

java - RxJava。通过少数来源生成 ViewObject 的正确方法

java - 可观察以重用运算符执行

kotlin - 如何从rxjava中的列表列表执行过滤器运算符

android - 更改android中的通知铃声

Android:设置自动亮度适应速度

java - 我应该如何将 List<Observable<T>> 压缩为 Observable<List<T>> ?

javascript - 'setRemoteDescription'上执行 'RTCPeerConnection'失败 : Failed to set remote answer sdp