前言
在Android开发中,有时候需要快速验证与Android无关的纯Java/Kotlin代码,这个时候可能会选择直接在Android工程中某个类中写个测试代码,然后Gradle编译,运行看结果。或者是直接开启IntelliJ 直接开撸。我更习惯于在Android工程中添加个测试的module,然后编写。最近使用Android Studio Hedgehog | 2023.1.1 + Kotlin 1.9.22 按照以前的方式,发现了编译问题,费了点时间解决。
本篇文章,你可以get到什么?
Android Studio中运行纯Java/Kotlin代码
解决编译错误
手动配置
IDE自动配置(推荐,无需手动编辑)
Android Studio运行Application/Kotlin
1. Android Studio -> File -> New -> New Module
2. Java/Kotlin Library
以我创建的purekotlin 模块为例,该模块会自动生成,以及项目级别的settings build文件会有变化。
===> settings.gradle.kts
include(":purekotlin")
===> purekotlin module -> build.gradle.kts
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
}
java {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
增加启动配置(手动配置)
添加Java/Kotlin文件后,写个Hello World, 需要更改Configuration, 默认是app
Application对应Java程序, Kotlin对应Kotlin程序。
Kotlin 运行配置
Java 运行配置
Java的Application配置跟Kotlin稍微有差异。
编译错误
按照上面的配置,写好简单的hello world,发现无法编译,提示:
Execution failed for task ':purekotlin:compileKotlin'. Inconsistent JVM-target compatibility detected for tasks 'compileJava' (1.7) and 'compileKotlin' (17).
解决编译问题
直接把新建module下的
===> purekotlin module -> build.gradle.kts
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
}
// ==============删除 或者 注释=================
java {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
【更新】IDE配置 无需自己手动编辑
经过掘金网友的提醒,经过在Android Studio中测试,确实有更简单的方法,我手动配置的反而是繁琐了,这里做出补充,感谢 @移动端全干攻城狮 以及@XDao7的评论提醒。上述的配置内容,我这里也不会删除,展示手动配置的方法途径。
新建个Kotlin的file,然后里面写上main方法,点击旁边绿色的run按钮,选择Run 'xxxx'
看了IDE变化过程,其实是自动配置了,就没必要手动配置。
git ignore
若是经常去添加,删除这个测试module, 会很累赘, 有时候还不小心把该测试module git add了,编辑.gitignore文件在其中加入 /purekotlin 这样,该文件就会被git忽略。 记得测试完,恢复
===> settings.gradle.kts
include(":purekotlin")