我的项目有两个项目:主项目
和库项目
。
主项目
依赖库项目
。
现在我想同时使用 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/