For those times when you want to isolate the Java and give it a quick test..
Can you run non-Android Java projects in Android studio as in Eclipse?
Question&Answers:osFor those times when you want to isolate the Java and give it a quick test..
Can you run non-Android Java projects in Android studio as in Eclipse?
Question&Answers:osTested on Android Studio 0.8.6 - 3.5
Using this method you can have Java modules and Android modules in the same project and also have the ability to compile and run Java modules as stand alone Java projects.
Now if you click run, this should compile and run your Java module.
If you get the error Error: Could not find or load main class...
, just enter your main class (as you've done in step 7) again even if the field is already filled in. Click Apply and then click Ok.
My usage case: My Android app relies on some precomputed files to function. These precomputed files are generated by some Java code. Since these two things go hand in hand, it makes the most sense to have both of these modules in the same project.
NEW - How to enable Kotlin in your standalone project
If you want to enable Kotlin inside your standalone project, do the following.
Continuing from the last step above, add the following code to your project level build.gradle
(lines to add are denoted by >>>):
buildscript {
>>> ext.kotlin_version = '1.2.51'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
>>> classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
...
Add the following code to your module level build.gradle
(lines to add are denoted by >>>):
apply plugin: 'java-library'
>>> apply plugin: 'kotlin'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
>>> implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
>>> runtimeClasspath files(compileKotlin.destinationDir)
}
...
Bonus step: Convert your main function to Kotlin! Simply change your main class to:
object Main {
...
@JvmStatic
fun main(args: Array<String>) {
// do something
}
...
}