【更新】Android Studio运行Java/Kotlin Application

3,418 阅读2分钟

前言

在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

image.png

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

image.png

image.png

Application对应Java程序, Kotlin对应Kotlin程序。

Kotlin 运行配置

image.png

Java 运行配置

image.png

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'

image.png

看了IDE变化过程,其实是自动配置了,就没必要手动配置。

image.png

git ignore

若是经常去添加,删除这个测试module, 会很累赘, 有时候还不小心把该测试module git add了,编辑.gitignore文件在其中加入 /purekotlin 这样,该文件就会被git忽略。 记得测试完,恢复

===> settings.gradle.kts

include(":purekotlin")