Вы также можете скачать APK-релизы со страницы релизов.
PS: Вам не нужно собирать его заново, поскольку я поместил готовые файлы C++ в native/libheat
.
Чтобы продолжить генерацию кода, вам понадобится SyslabCC, который представляет собой компилятор Julia AOT, включенный в MWORKS.Syslab.
> scc build.jl -o libheat.dll --no-blas> ls .syslabcc-cache/libheat/ Atomic_ops bin juliamk.jl libheat.cpp make.jl syslabcrt-dylib syslabcrt-io bdwgc ghc-filesystem lib libheat.h Makefile syslabcrt-intrinsics win32-implib
Затем вы копируете содержимое .syslabcc-cache/libheat/
в native/libheat
.
Для запуска приложения вам необходимо иметь мобильное устройство Android.
Этот проект также будет основан на Linux x64/aarch64, но может не работать на Windows, поскольку SyslabCC, выпущенный в 2024/06 г., не поддерживает MSVC (последний поддерживает сборку Window/macOS, но он еще не доступен публично).
# режим отладки для Flutter Android использует 32-битный ABIflutter run# flutter run -d <идентификатор вашего устройства Android>
Дополнительные сведения см. в разделе «Отладка приложений Flutter».
Я использую Rust для создания проекта C++, созданного Julia, и интегрирую его во Flutter.
Однако для созданной библиотеки требуется libc++_shared.so
на Android. Я использую патчи отсюда:
Изменение android/app/build.gradle
в соответствии с коммитом aa78bf1
Добавьте следующие строки в native/hub/build.rs
:
let target_os = std::env::var("CARGO_CFG_TARGET_OS");match target_os.as_ref().map(|x| &**x) { Ok("android") => { println!("cargo:rustc -link-lib=dylib=stdc++"); println!("cargo:rustc-link-lib=c++_shared"); }, _ => {}}