作为一名习惯用Java开发者,我们都知道我们的的安卓开发环境需要设置SDK(Software Development Kit)和JDK(Java Development Kit)。 SDK设置的是安卓Framwork层的框架源码,不如我们需要开发一个界面Activity、Service、需要播放一段视频或者音乐,都是需要调用Framwor框架源码的Api,也就是我们设置的SDK路径。JDK则是设置我们开发的JAVA开发环境,比如我们需要定义一个基本数据类型,Int、String类型,其实定义的都是JDK包里面提供的开发环境。

那么下面问题来了,现在随着Google推行使用Kotlin开发环境来替代Java开发环境,也就是我们需要使用KDK(Kotlin Delelopment Kit)来替代Jdk来搭建Android开发环境。

我们需要先了解一下安卓APK的打包过程:

android jni studio 处理kotlin android studio kotlin和java_kotlin

安卓APK的安装过程,Android虚拟机和Java虚拟机之间的区别。

我们先建一个项目,As会让我们选择项目的语言,可选项是Java和Kotlin,As默认的则是Kotlin语言。

选择Kotlin语言之后,build.gradle文件就会配置好Kotlin的继承环境。但是这里就有人会有问题,就是不是说是让Kotlin替代Java吗, 那我们是不是可以不需要安装Jdk了,直接安装好KDK,然后在AS里面关联KDK环境就可以完全使用Kotlin开发安卓项目了,不再需要Jdk环境了? 按理说,这样理解是正确的,就是Kdk开发环境一定是会替换Jdk开发环境的,但是目前存在的问题是,我们目前的Kotlin开发环境只能是通过As里面依赖的一个插件形式存在,源码并不成熟,这样就会导致,如果你直接设置你的项目使用Kotlin的编译器去编译,就会提示你的代码使用了Kotlin目前不支持的一写类型,比如Java的注解等。

compileOptions {
        sourceCompatibility = kotlin_version
        targetCompatibility = kotlin_version
    }

虽然网上说可以配置一下Kotlin的注解插件:

apply plugin: 'kotlin-kapt'

然后用kapt 替代implementation来实现As依赖第三方插件,但是试过之后发现并没有效果。

我们通过选中项目,然后右键Open Modulle Settings查看项目插件的配置:

android jni studio 处理kotlin android studio kotlin和java_开发环境_02

我们可以看到这里并没有指定编译选项,而我们之前的默认编译选项是Java8,所以我们只能说是Kotlin目前还没有自己成熟的KDK去替代Java的JDK。目前还是Kotlin语言开发环境依附与Java的Jdk开发环境,但是相信在不久的将来,Kotlin可以完全的替代Java,能有自己的完整的依赖扩展包,支持所有Java所支持的功能。