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:
typescriptconst 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).
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:
typescriptconst 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4