Advanced Concepts
Adding Java/Kotlin Code to an application
Adding native code to an application
There are different ways to add native code to an Android application. You can add .jar
and .aar
files, or Java/Kotlin source files in App_Resources/Android/libs
and App_Resources/Android/src
respectively.
App_Resources/
├─ Android/
│ ├─ app.gradle
│ ├─ libs/
│ │ ├─ HelloAndroidLib.aar # Android Archive
│ │ └─ HelloJavaLib.jar # Java Archive
│ └─ src/
│ └─ main/
│ ├─ java/
│ │ ├─ com/example/HelloKotlin.kt # Kotlin source code
│ │ └─ com/example/HelloJava.java # Java source code
│ └─ res/
└─ ... more
Adding Java code
Define the java file in App_Resources/Android/src/main/java
.
// HelloJava.java
package com.example;
public class HelloJava {
public String getString() {
return "Hello from Java!";
}
}
Given the example above, your JavaScript or TypeScript code can reference the Java code by using the full class name:
const helloJava = new com.example.HelloJava()
console.log('Java says: ' + helloJava.getString())
// prints: Java says: Hello from Java!
Note
When using TypeScript, you may need to generate typings, or alternatively declare the top level package name as any
.
declare const com: any
Adding Kotlin code
Configuring Kotlin
Enable kotlin
When using Kotlin, it must be enabled first.
Set useKotlin=true
in App_Resources/Android/gradle.properties
(create the file if it doesn't exist).
useKotlin=true
Configure Kotlin version
Configure the version of Kotlin to use in the application in App_Resources/Android/before-plugins.gradle
(create the file if it doesn't exist).
project.ext {
kotlinVersion = "1.9.10"
}
Using kotlin
Define the kotlin file in App_Resources/Android/src/main/java
.
// HelloKotlin.kt
package com.example
class HelloKotlin {
val hello = "Hello from Kotlin!"
}
Given the example above, your JavaScript or TypeScript code can reference the Kotlin code by using the full class name:
const helloKotlin = new com.example.HelloKotlin()
console.log('Kotlin says: ' + helloKotlin.hello)
// prints: Kotlin says: Hello from Kotlin!
Note
When using TypeScript, you may need to generate typings, or alternatively declare the top level package name as any
.
declare const com: any
- Previous
- Adding Native Code