【问题标题】:Android library can not compile kotlinAndroid库无法编译kotlin
【发布时间】:2015-10-13 08:10:21
【问题描述】:

我的项目有两个项目: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 文件。

【问题讨论】:

  • 你的主项目中是否导入了 rxRequest 函数?
  • @yole 是的,我在main project 中导入了rxRequest 函数。当我将reRequest 函数移动到我的main project 时,它就可以工作了。
  • @juancho 的回答有帮助吗?

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-04-18
    • 2018-11-27
    • 2016-09-21
    • 1970-01-01
    • 2020-08-02
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多