julia android example
Heat
릴리스 페이지에서 APK 릴리스를 다운로드할 수도 있습니다.
추신: 미리 빌드된 C++ 파일을 native/libheat
에 배치했으므로 다시 빌드할 필요가 없습니다.
코드 생성을 진행하려면 MWORKS.Syslab에 번들로 제공되는 Julia AOT 컴파일러인 SyslabCC가 필요합니다.
> scc build.jl -o libheat.dll --no-blas> ls .syslabcc-cache/libheat/ omic_ops 빈 juliamk.jl libheat.cpp make.jl syslabcrt-dylib syslabcrt-io bdwgc ghc-파일 시스템 lib libheat.h Makefile syslabcrt-intrinsics win32-implib
그런 다음 .syslabcc-cache/libheat/
의 내용을 native/libheat
에 복사합니다.
앱을 실행하려면 Android 모바일 기기가 필요합니다.
이 프로젝트는 Linux x64/aarch64에서도 빌드되지만 2024/06에 출시된 SyslabCC는 MSVC를 지원하지 않으므로 Windows에서는 빌드되지 않을 수 있습니다(최근 프로젝트는 Window/macOS 빌드를 지원했지만 아직 공개적으로 사용할 수 없음).
# Flutter Android의 디버깅 모드는 32비트 ABIflutter를 사용합니다. run# flutter run -d <Android 휴대폰 장치 ID>
자세한 내용은 Flutter 앱 디버그를 참조하세요.
저는 Rust를 사용하여 Julia에서 생성된 C++ 프로젝트를 빌드하고 이를 Flutter에 통합합니다.
그러나 생성된 라이브러리에는 Android의 경우 libc++_shared.so
필요합니다. 나는 다음의 패치를 사용합니다.
커밋 aa78bf1에 따라 android/app/build.gradle
수정
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!("화물:rustc-link-lib=c++_shared"); }, _ => {}}