mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
feat: support building on Android (#3713)
* feat: support building on Android * chore: add CI for mobile platform
This commit is contained in:
@ -72,32 +72,6 @@ script = [
|
||||
]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.sdk-dev-build-android]
|
||||
private = true
|
||||
script = [
|
||||
"""
|
||||
cd rust-lib/
|
||||
rustup show
|
||||
rustup target add aarch64-linux-android \
|
||||
armv7-linux-androideabi \
|
||||
i686-linux-android \
|
||||
x86_64-linux-android
|
||||
DEST=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/android/app/src/main/jniLibs
|
||||
rm -rf $DEST/arm64-v8a \
|
||||
$DEST/armeabi-v7a \
|
||||
$DEST/x86 \
|
||||
$DEST/x86_64
|
||||
cargo ndk \
|
||||
-t arm64-v8a \
|
||||
-t armeabi-v7a \
|
||||
-t x86 \
|
||||
-t x86_64 \
|
||||
-o $DEST build
|
||||
cd ../
|
||||
""",
|
||||
]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.sdk-dev-build.windows]
|
||||
private = true
|
||||
script = [
|
||||
@ -192,4 +166,3 @@ script = [
|
||||
""",
|
||||
]
|
||||
script_runner = "@duckscript"
|
||||
|
||||
|
@ -52,7 +52,16 @@ dependencies = ["appflowy-core-dev-ios"]
|
||||
run_task = { name = [
|
||||
"code_generation",
|
||||
"set-app-version",
|
||||
"flutter-build",
|
||||
"flutter-build-ios",
|
||||
] }
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.appflowy-android-dev]
|
||||
dependencies = ["appflowy-core-dev-android"]
|
||||
run_task = { name = [
|
||||
"code_generation",
|
||||
"set-app-version",
|
||||
"flutter-build-android",
|
||||
] }
|
||||
script_runner = "@shell"
|
||||
|
||||
@ -187,6 +196,22 @@ script = ["""
|
||||
"""]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.flutter-build-ios]
|
||||
script = ["""
|
||||
cd appflowy_flutter/
|
||||
flutter pub get
|
||||
flutter build ipa --verbose
|
||||
"""]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.flutter-build-android]
|
||||
script = ["""
|
||||
cd appflowy_flutter/
|
||||
flutter pub get
|
||||
flutter build apk --split-per-abi --verbose
|
||||
"""]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.flutter-build.windows]
|
||||
script = ["""
|
||||
cd appflowy_flutter
|
||||
|
@ -33,6 +33,29 @@ script = [
|
||||
]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.appflowy-core-dev-android]
|
||||
category = "Build"
|
||||
dependencies = ["env_check"]
|
||||
run_task = { name = [
|
||||
"setup-crate-type",
|
||||
"sdk-build-android",
|
||||
"post-mobile-android",
|
||||
"restore-crate-type",
|
||||
] }
|
||||
|
||||
[tasks.sdk-build-android]
|
||||
private = true
|
||||
script = [
|
||||
"""
|
||||
cd rust-lib/
|
||||
rustup show
|
||||
echo "cargo ndk -t arm64-v8a -t x86_64 -o ./jniLibs build --features "${FLUTTER_DESKTOP_FEATURES}""
|
||||
cargo ndk -t arm64-v8a -t x86_64 -o ./jniLibs build --features "${FLUTTER_DESKTOP_FEATURES}"
|
||||
cd ../
|
||||
""",
|
||||
]
|
||||
script_runner = "@shell"
|
||||
|
||||
[tasks.post-mobile-ios]
|
||||
private = true
|
||||
script = [
|
||||
@ -53,3 +76,23 @@ script = [
|
||||
""",
|
||||
]
|
||||
script_runner = "@duckscript"
|
||||
|
||||
[tasks.post-mobile-android]
|
||||
script = [
|
||||
"""
|
||||
echo "🚀 🚀 🚀 AppFlowy-Core for Android platform build success"
|
||||
dart_ffi_dir= set ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/appflowy_flutter/android/app/src/main
|
||||
lib = set lib${LIB_NAME}.${LIB_EXT}
|
||||
|
||||
echo "💻 💻 💻 Copying ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/jniLibs/ to ${dart_ffi_dir}/"
|
||||
rm -r ${dart_ffi_dir}/jniLibs/
|
||||
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/jniLibs/ \
|
||||
${dart_ffi_dir}/
|
||||
|
||||
echo "💻 💻 💻 Copying ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h to ${dart_ffi_dir}/Classes/binding.h"
|
||||
rm -f ${dart_ffi_dir}/Classes/binding.h
|
||||
cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/binding.h \
|
||||
${dart_ffi_dir}/Classes/binding.h
|
||||
""",
|
||||
]
|
||||
script_runner = "@duckscript"
|
||||
|
Reference in New Issue
Block a user