ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[Kotlin on Android FAQ](https://developer.android.com/kotlin/faq) #### Kotlin在Android上的FAQ **Android为什么让Kotlin成为一流的支持语言?** Kotlin是一种Android兼容语言,简洁,富有表现力,设计为类型和零安全。它可以无缝地与Java语言协同工作,因此可以让喜欢Java语言的开发人员继续使用它,同时还可以逐步添加Kotlin代码并利用Kotlin库。此外,许多Android开发人员已经发现Kotlin使开发更快,更有趣,因此我们希望更好地支持这些Kotlin用户。您可以[在此处](https://developer.android.com/kotlin/)阅读有关[Kotlin和Android](https://developer.android.com/kotlin/)的更多信息。 **我已经在使用Kotlin语言,对我来说有什么变化?** 在短期内,我们认为您将注意到的最大变化是Android Studio 3.0及更高版本包括经过全面测试的Kotlin支持。我们认为这将为您带来更轻松,更稳定的开发体验。 **如何在Android Studio中使用Kotlin?** Android版3.0及更高版本完全支持Kotlin。以前,使用Kotlin需要添加Kotlin插件,但Android Studio的所有新版本都内置了这些工具。因此,您可以使用Kotlin文件创建新项目,将Java语言代码转换为Kotlin,调试Kotlin代码等,没有任何额外的步骤。请参阅Kotlin入门。 **如何在Android Studio中调试Kotlin?** 调试Kotlin就像调试Java代码一样。您不需要做任何不同的事情。 **为Kotlin提供了什么样的其他IDE支持(如lint,autocomplete,refactorings等)?** 从Android Studio 3.0开始,IDE为Kotlin提供了完整的工具支持。但是, 我们正在研究一些 [已知的问题和限制](https://developer.android.com/studio/preview/kotlin-issues.html)。 **Kotlin的未来是什么?** JetBrains对Kotlin设计的深思熟虑的工作是我们接受这种语言的原因之一。Google正在与JetBrains合作,以确保从语言,框架到工具的精彩整体开发人员故事。而且,我们很高兴能够共同努力将Kotlin语言转变为非营利性基金会。 **Kotlin是开源的吗?** Kotlin的首选许可证是 [Apache软件许可证2.0版](http://www.apache.org/licenses/LICENSE-2.0) (“Apache 2.0”),大多数Kotlin软件都是在Apache 2.0下许可的。虽然该项目将努力遵守首选许可证,但可能会有个别例外处理的例外情况。例如,Kotlin使用的某些第三方依赖项可能会根据仍与Apache 2许可证兼容的不同开源许可证进行许可。 **如何在Java和Kotlin语言之间进行选择?** 你不必选择!您可以根据需要一起使用。如果您需要帮助来发现Kotlin是否适合您,您可以 [在Android上试用它](https://developer.android.com/kotlin/get-started.html)或通过这些[Kotlin资源](https://developer.android.com/kotlin/resources.html)了解有关该语言的更多信息 **我可以从Kotlin调用Android或其他Java语言库API吗?** 是。Kotlin提供Java语言互操作性。这是一种允许Kotlin代码透明地调用Java语言方法的设计,再加上注释,可以很容易地将仅Kotlin功能暴露给Java代码。不使用任何Kotlin特定语义的Kotlin文件可以直接从Java代码中引用,而根本没有任何注释。结合使用,您可以将Java代码与Kotlin代码进行精细混合。要了解更多信息,请参阅 [Kotlin的互操作文档](https://kotlinlang.org/docs/reference/java-interop.html)。 **你有Android API的Kotlin参考文档吗?** 是的!我们正努力通过惯用的Kotlin引用提供所有Android API文档。他们尚未准备就绪,但您可以在[Android参考概述中](https://developer.android.com/reference/)找到指向可用Kotlin参考的链接 。如果您正在寻找核心Kotlin语言参考,请转到 [Kotlin标准库参考](https://kotlinlang.org/api/latest/jvm/stdlib/index.html)。 **我可以在同一个项目中同时使用Java文件和Kotlin文件吗?** 是。您可以根据需要采用尽可能多的Kotlin,并使用[Kotlin与Java的互操作性](https://kotlinlang.org/docs/reference/java-interop.html)将其与Java代码混合使用。 **我可以在C++中使用Kotlin吗?** 是的,JNI得到Kotlin的全力支持。只需使用[外部修改器](https://kotlinlang.org/docs/reference/java-interop.html#using-jni-with-kotlin)标记JNI方法即可 。 **如何将Kotlin添加到我的新项目中?** 在Android Studio中创建新项目时,只需选中Include Kotlin support复选框即可。有关更多信息,请参阅 Kotlin入门。 **如何将Kotlin添加到现有项目中?** 在“ 项目”窗口中选择您的模块,然后选择“ 文件”>“新建”,选择任何Android模板,然后选择Kotlin作为 源语言。有关更多信息,请参阅 [Kotlin入门](https://developer.android.com/kotlin/get-started.html)。 **如何将Java语言代码转换为Kotlin?** 打开Java文件,然后选择Code> Convert Java File to Kotlin File。或者,创建一个新的Kotlin文件(“ 文件”>“新建”>“Kotlin文件/类”),然后将Java代码粘贴到该文件中 - 出现提示时,单击“ 是”将代码转换为Kotlin。有关更多信息,请参阅 [Kotlin入门](https://developer.android.com/kotlin/get-started.html)。 **Kotlin中是否会有并行的文档,示例,代码和模板?** 我们正在努力使我们的文档和教育材料对Java和Kotlin语言用户尽可能有用。与此同时,开发人员可以依靠Kotlin与Java语言的出色互操作性以及在Java Studio中自动将Java语言代码转换为Kotlin的能力。 **Kotlin协程能在Android上运行吗?异步/等待怎么样?** Kotlin协同程序目前应该可以使用,但它们目前是一种实验设计。因此,Kotlin不保证未来的状态,因此,Android也没有。 **什么是Kotlin对APK大小/方法计数的影响?** Kotlin运行时为你的调试APK添加了大约7,000种方法和大约1MB。如果您使用Kotlin替换项目中的另一个库(例如Guava或RxJava),那么净影响可能会更小。当您使用Proguard优化APK以便发布时,此大小也会减少,就像其他应用程序代码和库一样。 **使用Kotlin会对性能产生任何影响吗?** Kotlin没有直接的性能影响,但就像Java语言一样,你应该考虑如何使用它。例如,在新的集合实例之间重复复制会影响GC性能,并且调用接受非null类型的方法会为null检查添加方法调用(尽管可以在编译器中禁用运行时空值检查 -Xno-param-assertions)。 **Kotlin支持哪些版本的Android?** 他们全部!Kotlin与JDK 6兼容,因此Kotlin的应用程序可以安全地运行在较旧的Android版本上。 我在哪里可以了解更多关于使用Kotlin的信息? 查看[资源以了解Kotlin](https://developer.android.com/kotlin/resources.html)。