2017-08-14 91 views
3

當我們想在Android Studio中使用Kotlin時,它非常簡單。添加科特林相關庫,並且還添加了科特林-Android插件如下如何在Android中添加對普通Java Lib的Kotlin支持?

apply plugin: 'com.android.library' 
apply plugin: 'kotlin-android' 

但是,如果我有一個正常的庫(以前是Java的),並希望在科特林寫,我應該添加任何插件?下面絕對不行。

apply plugin: 'java-library' 
apply plugin: 'kotlin-android' 

沒有「科特林庫」,我覺得要加入,我應該怎麼添加到我的Gradle模塊已之能夠編譯科特林?

+0

我想如果您嘗試添加Kotlin文件,IDE會提示您配置Kotlin並單擊確定可能會執行此操作。 – Bob

回答

3

你只需要添加科特林插件:

apply plugin: "kotlin" 

java-library插件是最近才加入到搖籃和擴展java插件。雖然命名不擴大到kotlin

+0

不錯的。謝謝!。順便說一句,如果我刪除'apply plugin:'java-library',我仍然可以在其中包含Java代碼。所以'Kotlin'插件已經包含了對Java的支持,對吧? – Elye

+0

我不確定這一點,但它值得測試。 – tynn

0

正如有人說你需要添加

apply plugin: 'kotlin' 

,但你還需要至少

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 

添加到科特林庫模塊的你的依賴部分,否則標準庫科特林功能不會工作。例如。您將不會有@JvmStatic註釋,等等。

kotlin庫模塊的build.gradle樣品可以是這樣的:

apply plugin: 'kotlin' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 
} 

$kotlin_version應在項目build.gradle文件中定義。

該示例取自Idea的圖書館項目,並經過測試與Android Studio項目(Android Studio 3.0 Beta 2)一起作爲庫依賴項與app模塊一起使用。

+0

這是與問題不同的答案。我有辦法在我的應用程序中使用Kotlin,並瞭解所有庫設置。我的問題是將Kotlin作爲一個單獨的模塊庫(以前是java庫)。 – Elye

+0

事實上,這是你的問題的答案。你可以在android studio中創建一個java庫模塊(可以說它的名字是'lib'),爲這個文件添加'apply plugin:'kotlin''(你可以刪除'apply plugin:'java-library'')並添加'編譯「org.jetbrains.kotlin:kotlin-stdlib-jre7:$ kotlin_version」到依賴部分。在你的應用程序模塊中,你應該添加這個依賴:'compile project(':lib')'。 –

+0

我更新了答案,以便更直接,您的問題非常有用,因爲一年前我還面臨類似的問題。我提到依賴性部分的原因不是因爲你不知道它,而是因爲其他人會閱讀答案,可能不知道它。當你創建java庫模塊時,默認情況下它沒有關於kotlin的任何信息,只需添加kotlin插件可能不夠。 –