diff --git a/flutter_hbb/android/app/src/main/jniLibs/x86/librustdesk.so b/flutter_hbb/android/app/src/main/jniLibs/x86_64/librustdesk.so similarity index 100% rename from flutter_hbb/android/app/src/main/jniLibs/x86/librustdesk.so rename to flutter_hbb/android/app/src/main/jniLibs/x86_64/librustdesk.so diff --git a/flutter_hbb/android/gradle.properties b/flutter_hbb/android/gradle.properties index 94adc3a3f..a6738207f 100644 --- a/flutter_hbb/android/gradle.properties +++ b/flutter_hbb/android/gradle.properties @@ -1,3 +1,4 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true +android.enableR8=true diff --git a/flutter_hbb/lib/main.dart b/flutter_hbb/lib/main.dart index 11655b668..f5b49ab62 100644 --- a/flutter_hbb/lib/main.dart +++ b/flutter_hbb/lib/main.dart @@ -1,6 +1,13 @@ import 'package:flutter/material.dart'; +import 'dart:io' show Platform; +import 'dart:ffi'; void main() { + final dylib = Platform.isAndroid ? DynamicLibrary.open('librustdesk.so') : DynamicLibrary.process(); + final initialize = dylib.lookupFunction('initialize'); + initialize(); + // final connect = dylib.lookupFunction), void Function(Pointer)>('connect'); + // connect(Utf8.toUtf8('test')); runApp(MyApp()); } diff --git a/flutter_hbb/pubspec.lock b/flutter_hbb/pubspec.lock index f628010e7..6efd799b4 100644 --- a/flutter_hbb/pubspec.lock +++ b/flutter_hbb/pubspec.lock @@ -57,6 +57,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.2.0-nullsafety.1" + ffi: + dependency: "direct main" + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" flutter: dependency: "direct main" description: flutter diff --git a/flutter_hbb/pubspec.yaml b/flutter_hbb/pubspec.yaml index 634d383f2..c9ceec9f6 100644 --- a/flutter_hbb/pubspec.yaml +++ b/flutter_hbb/pubspec.yaml @@ -28,6 +28,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.0 + ffi: ^0.1.3 dev_dependencies: flutter_test: