mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-08-11 18:26:27 +10:00
Add ability to send images over lora
This commit is contained in:
@@ -43,9 +43,22 @@ android {
|
||||
// arguments += listOf("-DANDROID_STL=c++_shared")
|
||||
// }
|
||||
// }
|
||||
// ndk {
|
||||
// abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
|
||||
// }
|
||||
// arm64-v8a only, deliberately.
|
||||
//
|
||||
// * ONNX Runtime (flutter_onnxruntime, used by the AEIC-SE image codec)
|
||||
// ships a per-ABI .so. arm64-v8a alone costs ~18 MB of APK; a
|
||||
// universal APK carrying armeabi-v7a and x86_64 as well costs ~56 MB.
|
||||
// * llamadart only declares android-arm64 and android-x64 backends in
|
||||
// pubspec.yaml's `hooks.user_defines`, so an armeabi-v7a build already
|
||||
// has no translation backend at all.
|
||||
// * The image codec needs ~2.7 GiB peak resident, which no 32-bit
|
||||
// address space can provide regardless of ABI.
|
||||
//
|
||||
// Consequence: this APK will not install on 32-bit-only ARM devices or on
|
||||
// x86_64 emulators. For emulator work, temporarily add "x86_64" here.
|
||||
ndk {
|
||||
abiFilters += listOf("arm64-v8a")
|
||||
}
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
@@ -67,6 +80,13 @@ android {
|
||||
} else {
|
||||
signingConfigs.getByName("debug")
|
||||
}
|
||||
// ONNX Runtime resolves its Java classes from native code by name.
|
||||
// Without these rules R8 renames them and the process SIGABRTs with
|
||||
// "java_class == null" the instant the codec runs a model.
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
# ONNX Runtime looks its Java classes up from native code with FindClass /
|
||||
# GetMethodID, by literal name. R8 renames them, the lookup returns null, and
|
||||
# the process dies with:
|
||||
#
|
||||
# JNI DETECTED ERROR IN APPLICATION: java_class == null
|
||||
# at art::JNI<false>::GetMethodID
|
||||
# from convertToTensorInfo -> Java_ai_onnxruntime_OrtSession_run
|
||||
#
|
||||
# It is a hard SIGABRT in native code, so nothing in Dart can catch it: the app
|
||||
# vanishes the moment the codec touches the model. Keep the whole package —
|
||||
# these are the types the native layer reflects on to build tensors and read
|
||||
# results back.
|
||||
-keep class ai.onnxruntime.** { *; }
|
||||
-keepclassmembers class ai.onnxruntime.** { *; }
|
||||
-dontwarn ai.onnxruntime.**
|
||||
|
||||
# The Flutter plugin's platform-channel handler, reached the same way.
|
||||
-keep class com.masicai.flutteronnxruntime.** { *; }
|
||||
-dontwarn com.masicai.flutteronnxruntime.**
|
||||
Reference in New Issue
Block a user