├── .github ├── CODEOWNERS └── workflows │ └── android-ci.yaml ├── sample ├── java │ ├── app │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── values │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ ├── colors.xml │ │ │ │ │ │ └── themes.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── themes.xml │ │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ │ ├── xml │ │ │ │ │ │ ├── backup_rules.xml │ │ │ │ │ │ └── data_extraction_rules.xml │ │ │ │ │ ├── layout │ │ │ │ │ │ └── activity_main.xml │ │ │ │ │ └── drawable │ │ │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── rust │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── src │ │ │ │ │ │ └── lib.rs │ │ │ │ │ └── .cargo │ │ │ │ │ │ └── config.toml │ │ │ │ ├── java │ │ │ │ │ └── com │ │ │ │ │ │ └── devfigas │ │ │ │ │ │ └── rustjni │ │ │ │ │ │ └── sample │ │ │ │ │ │ └── MainActivity.java │ │ │ │ └── AndroidManifest.xml │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── devfigas │ │ │ │ │ └── rustjni │ │ │ │ │ └── sample │ │ │ │ │ └── ExampleUnitTest.kt │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── devfigas │ │ │ │ └── rustjni │ │ │ │ └── sample │ │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── proguard-rules.pro │ │ └── build.gradle.kts │ ├── gradle │ │ ├── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ └── libs.versions.toml │ ├── build.gradle.kts │ ├── .gitignore │ ├── settings.gradle.kts │ ├── gradle.properties │ ├── gradlew.bat │ └── gradlew ├── kotlin │ ├── app │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── values │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ ├── colors.xml │ │ │ │ │ │ └── themes.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── themes.xml │ │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ │ ├── xml │ │ │ │ │ │ ├── backup_rules.xml │ │ │ │ │ │ └── data_extraction_rules.xml │ │ │ │ │ ├── layout │ │ │ │ │ │ └── activity_main.xml │ │ │ │ │ └── drawable │ │ │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── rust │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ ├── src │ │ │ │ │ │ └── lib.rs │ │ │ │ │ └── .cargo │ │ │ │ │ │ └── config.toml │ │ │ │ ├── java │ │ │ │ │ └── com │ │ │ │ │ │ └── devfigas │ │ │ │ │ │ └── rustjni │ │ │ │ │ │ └── sample │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── AndroidManifest.xml │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── devfigas │ │ │ │ │ └── rustjni │ │ │ │ │ └── sample │ │ │ │ │ └── ExampleUnitTest.kt │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── devfigas │ │ │ │ └── rustjni │ │ │ │ └── sample │ │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── proguard-rules.pro │ │ └── build.gradle.kts │ ├── gradle │ │ ├── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ └── libs.versions.toml │ ├── build.gradle.kts │ ├── .gitignore │ ├── settings.gradle.kts │ ├── gradle.properties │ ├── gradlew.bat │ └── gradlew └── game │ ├── app │ ├── src │ │ ├── main │ │ │ ├── rust │ │ │ │ ├── .gitignore │ │ │ │ ├── src │ │ │ │ │ ├── player_state.rs │ │ │ │ │ ├── lib.rs │ │ │ │ │ └── game_controller.rs │ │ │ │ ├── Cargo.toml │ │ │ │ └── .cargo │ │ │ │ │ └── config.toml │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── drawable │ │ │ │ │ ├── baseline_play_arrow_24.xml │ │ │ │ │ ├── baseline_file_upload_24.xml │ │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── values-night │ │ │ │ │ └── themes.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── xml │ │ │ │ │ ├── backup_rules.xml │ │ │ │ │ └── data_extraction_rules.xml │ │ │ │ └── layout │ │ │ │ │ └── activity_main.xml │ │ │ ├── assets │ │ │ │ ├── enemy.png │ │ │ │ └── player.png │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── devfigas │ │ │ │ │ └── gamesample │ │ │ │ │ ├── GameListener.kt │ │ │ │ │ ├── NativeLib.kt │ │ │ │ │ ├── Sprite.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── GameSurfaceView.kt │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── devfigas │ │ │ │ └── gamesample │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── devfigas │ │ │ └── gamesample │ │ │ └── ExampleInstrumentedTest.kt │ ├── proguard-rules.pro │ └── build.gradle.kts │ ├── gradle │ ├── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ └── libs.versions.toml │ ├── build.gradle.kts │ ├── settings.gradle.kts │ ├── gradle.properties │ ├── gradlew.bat │ └── gradlew ├── gradle-plugin ├── settings.gradle.kts ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── src │ └── main │ │ └── kotlin │ │ └── io │ │ └── github │ │ └── andrefigas │ │ └── rustjni │ │ ├── reflection │ │ ├── MethodSignature.kt │ │ ├── Visibility.kt │ │ └── primitive │ │ │ ├── PrimitiveJVM.kt │ │ │ └── PrimitiveRust.kt │ │ ├── Prebuilt.kt │ │ ├── ArchitectureConfig.kt │ │ ├── AndroidTarget.kt │ │ ├── OSHelper.kt │ │ ├── AndroidSettings.kt │ │ ├── utils │ │ └── FileUtils.kt │ │ └── RustJniExtension.kt ├── build.gradle.kts ├── gradlew.bat └── gradlew ├── gradle-plugin-test ├── settings.gradle.kts ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── src │ └── main │ │ └── kotlin │ │ └── io │ │ └── github │ │ └── andrefigas │ │ └── rustjni │ │ └── test │ │ ├── RustJNITest.kt │ │ ├── jvm │ │ └── content │ │ │ ├── JVMContentProvider.kt │ │ │ ├── KotlinContentProvider.kt │ │ │ └── JavaContentProvider.kt │ │ ├── toml │ │ └── TomlContentProvider.kt │ │ ├── TestData.kt │ │ └── TestRunner.kt ├── gradlew.bat ├── build.gradle.kts └── gradlew ├── .gitattributes ├── doc ├── images │ └── kt_to_cpp.png └── CHANGELOG.md ├── .gitignore └── README.md /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @andrefigas -------------------------------------------------------------------------------- /sample/java/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sample/kotlin/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /sample/game/app/src/main/rust/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /gradle-plugin/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "RustJNI" -------------------------------------------------------------------------------- /gradle-plugin-test/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "RustJNI" -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /doc/images/kt_to_cpp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/doc/images/kt_to_cpp.png -------------------------------------------------------------------------------- /sample/java/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | sample 3 | -------------------------------------------------------------------------------- /sample/game/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | GameSample 3 | -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | sample 3 | -------------------------------------------------------------------------------- /sample/game/app/src/main/assets/enemy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/assets/enemy.png -------------------------------------------------------------------------------- /sample/game/app/src/main/assets/player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/assets/player.png -------------------------------------------------------------------------------- /sample/game/app/src/main/rust/src/player_state.rs: -------------------------------------------------------------------------------- 1 | #[derive(Debug, PartialEq)] 2 | pub enum PlayerState { 3 | Live, 4 | Dead 5 | } -------------------------------------------------------------------------------- /gradle-plugin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/gradle-plugin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /sample/game/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /sample/java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /sample/kotlin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle-plugin-test/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/gradle-plugin-test/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/java/com/devfigas/gamesample/GameListener.kt: -------------------------------------------------------------------------------- 1 | package com.devfigas.gamesample 2 | 3 | interface GameListener { 4 | 5 | fun onGameEnd() 6 | 7 | } -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/game/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/java/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrefigas/RustJNI/HEAD/sample/kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /sample/game/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FF000000 4 | #FFFFFFFF 5 | -------------------------------------------------------------------------------- /sample/java/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FF000000 4 | #FFFFFFFF 5 | -------------------------------------------------------------------------------- /sample/java/app/src/main/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "my_rust_lib" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib"] 8 | 9 | [dependencies] 10 | jni = "0.21" -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FF000000 4 | #FFFFFFFF 5 | -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "my_rust_lib" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib"] 8 | 9 | [dependencies] 10 | jni = "0.21" -------------------------------------------------------------------------------- /sample/game/app/src/main/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "my_rust_lib" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib"] 8 | 9 | [dependencies] 10 | jni = "0.21" 11 | lazy_static = "1.4" -------------------------------------------------------------------------------- /sample/game/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins { 3 | alias(libs.plugins.android.application) apply false 4 | alias(libs.plugins.kotlin.android) apply false 5 | } -------------------------------------------------------------------------------- /sample/kotlin/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins {alias(libs.plugins.android.application) apply false 3 | alias(libs.plugins.jetbrains.kotlin.android) apply false 4 | } -------------------------------------------------------------------------------- /sample/java/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins { 3 | alias(libs.plugins.android.application) apply false 4 | alias(libs.plugins.jetbrains.kotlin.android) apply false 5 | } -------------------------------------------------------------------------------- /gradle-plugin-test/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /gradle-plugin/src/main/kotlin/io/github/andrefigas/rustjni/reflection/MethodSignature.kt: -------------------------------------------------------------------------------- 1 | package io.github.andrefigas.rustjni.reflection 2 | 3 | internal data class MethodSignature( 4 | val methodName: String, 5 | val returnType: String, 6 | val parameters: List 7 | ) -------------------------------------------------------------------------------- /gradle-plugin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Oct 23 10:55:23 EDT 2024 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /sample/game/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Nov 02 21:28:05 WET 2024 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /sample/java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Oct 05 01:38:14 BST 2024 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /sample/kotlin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Oct 05 01:38:14 BST 2024 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /sample/java/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /sample/kotlin/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /sample/game/app/src/main/res/drawable/baseline_play_arrow_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/java/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /gradle-plugin/src/main/kotlin/io/github/andrefigas/rustjni/Prebuilt.kt: -------------------------------------------------------------------------------- 1 | package io.github.andrefigas.rustjni 2 | 3 | object Prebuilt{ 4 | 5 | const val LINUX_X86_64 = "linux-x86_64" 6 | const val LINUX_ARM64 = "linux-arm64" 7 | const val WINDOWS_X86_64 = "windows-x86_64" 8 | const val WINDOWS_ARM64 = "windows-arm64" 9 | const val DARWIN_X86_64 = "darwin-x86_64" 10 | 11 | } -------------------------------------------------------------------------------- /sample/game/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /sample/game/app/src/main/res/drawable/baseline_file_upload_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/game/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/java/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/kotlin/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/java/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 7 | 8 | 7 | 8 |