diff --git a/light_client_app/android/app/build.gradle.kts b/light_client_app/android/app/build.gradle.kts index 1768555..51f4b6b 100644 --- a/light_client_app/android/app/build.gradle.kts +++ b/light_client_app/android/app/build.gradle.kts @@ -45,6 +45,14 @@ android { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } + sourceSets { + named("main") { + jniLibs.srcDir("src/main/jni/") + // Configure the JNI libraries directory + // Note: For newer configurations, JNI libraries are often managed differently + // Check your specific plugin version's documentation for precise configuration + } + } } dependencies { diff --git a/light_client_app/android/app/src/main/java/com/example/beerus_android/Beerus.java b/light_client_app/android/app/src/main/java/com/example/beerus_android/Beerus.java index e576488..3655a43 100644 --- a/light_client_app/android/app/src/main/java/com/example/beerus_android/Beerus.java +++ b/light_client_app/android/app/src/main/java/com/example/beerus_android/Beerus.java @@ -1,4 +1,16 @@ package com.example.beerus_android; public class Beerus { + public static native Void run( + String eth_execution_rpc, + String starknet_rpc, + String data_dir, + int poll_secs, + int socket_port + ); + + static { + // here we load the rust library we created + System.loadLibrary("beerus"); + } } diff --git a/light_client_app/android/app/src/main/java/com/example/beerus_android/MainActivity.kt b/light_client_app/android/app/src/main/java/com/example/beerus_android/MainActivity.kt index 7975263..31fa42e 100644 --- a/light_client_app/android/app/src/main/java/com/example/beerus_android/MainActivity.kt +++ b/light_client_app/android/app/src/main/java/com/example/beerus_android/MainActivity.kt @@ -1,5 +1,7 @@ package com.example.beerus_android +import com.example.beerus_android.Beerus; + import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent @@ -61,7 +63,7 @@ fun Toggle(modifier: Modifier = Modifier) { var runState by rememberSaveable { mutableStateOf("Not Running") } - var checked by rememberSaveable { mutableStateOf(true)} + var checked by rememberSaveable { mutableStateOf(false)} Column(modifier = Modifier .fillMaxSize() @@ -91,8 +93,8 @@ fun Toggle(modifier: Modifier = Modifier) { Spacer(modifier=Modifier.height(40.dp)) if(checked){ + startBeerus() runState="Running" - }else{ runState="Not Running" } @@ -115,4 +117,14 @@ fun Toggle(modifier: Modifier = Modifier) { // BeerusandroidTheme { // Greeting("Android") // } -//} \ No newline at end of file +//} + +fun startBeerus() { + Beerus.run( + "", + "", + "tmp", + 5, + 8080 + ) +} \ No newline at end of file diff --git a/light_client_app/android/app/src/main/jni/x86_64/libbeerus.so b/light_client_app/android/app/src/main/jni/x86_64/libbeerus.so new file mode 100755 index 0000000..08a662b Binary files /dev/null and b/light_client_app/android/app/src/main/jni/x86_64/libbeerus.so differ