Android库无法编译kotlin

标签 android rx-java kotlin kotlin-android-extensions kotlin-extension

我的项目有两个项目:主项目库项目

主项目依赖库项目

现在我想同时使用 kotlin。我已经将我的 common rx extension code 添加到 library project 中:

fun String.rxRequest(@NotNull builder: (Request.Builder) -> Unit): Observable<Response> = Observable.create<Response> {
  var mBuilder: Request.Builder = Request.Builder().url(this)
  builder.invoke(mBuilder);
  it.onNext(HttpClient.create().newCall(mBuilder.build()).execute())
  it.onCompleted()
}.subscribeOn(Schedulers.from(THREAD_POOL_NET));

然后我在我的主项目中调用这个函数:

"http://www.xxx.xxx".rxRequest {
        val requestBody = FormEncodingBuilder().add("code", code).build()
        it.post(requestBody)
                .header("XRDid", appInfo.deviceId)
    }

构建失败:

LoginPresenter.kt:未解析的引用:rxRequest

library project 构建成功,kotlin .class 在构建文件夹中生成。

但是 main project 构建失败,构建文件夹中没有 kotlin .class 文件。

最佳答案

我遇到了同样的问题,我修复了它,在两个模块/项目中添加了所有 kotlin 依赖项,当然还要确保添加 kotlin 插件并将 kotlin 文件夹设置为包含在javaSrc.

关于Android库无法编译kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33097400/

相关文章:

android - Android 中传入短信的状态栏通知?

android - 删除 Android Studio 中的奇怪箭头

java - RxJava `Completable.andThen` 不是串行执行?

java - 组合两个发出不同类型的 Observable

android - "Unresolved reference: padding"即使在导入 layout.padding 之后

android - 如何在 kotlin 中的 customadpter 项目上实现 clicklistener?

gradle - 用gradle-script-kotlin构建可执行的胖子

Java Android 在连接到服务器时加载微调器

android - 可以使用 GradientColor 完全在 XML 中定义填充或描边的渐变吗?

android - RxJava 取消 'Single.fromCallable' 请求,disposable.clear 导致 InterruptedIOException