Android库无法编译kotlin

时间:2015-10-13 08:10:22

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

我的项目有两个项目:main projectlibrary project

main project依赖关系library project

现在我想使用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));

然后我在main project

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

它构建失败:

LoginPresenter.kt: Unresolved reference: rxRequest

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

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

1 个答案:

答案 0 :(得分:1)

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