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;
publicclassHelloJava {
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:
consthelloJava=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
.
declareconstcom: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
packagecom.example
classHelloKotlin {
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:
consthelloKotlin=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
.
declareconstcom:any
- Previous
- Adding Native Code
Contributors
Last updated: