Android库不能编译kotlin
我的项目有两个项目: main project
和library 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
构建成功,生成在build文件夹中的kotlin .class。
但是main project
编译失败,在build文件夹中没有kotlin .class文件。
我有同样的问题, 我解决它在所有模块/项目中添加所有的kotlin依赖项 ,当然还要确保添加kotlin插件,并将kotlin文件夹设置为包含在javaSrc中。