mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2025-12-11 20:15:30 +01:00
Enhance Android build instructions in CONTRIBUTING.md
Updated Android build instructions to include emulator support and environment variable setup.
This commit is contained in:
parent
86b906f956
commit
e941d4f3de
@ -266,6 +266,8 @@ The React Native mobile app provides cross-platform iOS and Android support with
|
|||||||
| Java | 17 | Android builds |
|
| Java | 17 | Android builds |
|
||||||
|
|
||||||
#### Quick Start
|
#### Quick Start
|
||||||
|
> [!important]
|
||||||
|
> If you're building for Android devices, it's imperative that you install NDK (26.1.10909125) and CMake in Android Studio's SDK Manager in order to build the aws-lc crypto library. You'll need to add the NDK path to your system's environment variable as `ANDROID_NDK` or `ANDROID_NDK_HOME`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Install Go (required for aws-lc cryptographic library)
|
# 1. Install Go (required for aws-lc cryptographic library)
|
||||||
@ -286,11 +288,13 @@ bun install
|
|||||||
# (Not required to ensure rebuilt core is bundled when making changes)
|
# (Not required to ensure rebuilt core is bundled when making changes)
|
||||||
bun run prebuild:clean
|
bun run prebuild:clean
|
||||||
|
|
||||||
# 5. Run on iOS simulator (from apps/mobile directory)
|
# 5. Run on iOS simulator or Android emulator (from apps/mobile directory)
|
||||||
bun ios
|
bun ios
|
||||||
|
bun android
|
||||||
|
|
||||||
# 6. Run on physical iOS device (from apps/mobile directory)
|
# 6. Run on physical iOS or Android device (from apps/mobile directory)
|
||||||
bun ios --device "YourDeviceName"
|
bun ios --device "YourDeviceName"
|
||||||
|
bun android --device "YourDeviceName"
|
||||||
# You can find the device name by running `bunx expo devices`.
|
# You can find the device name by running `bunx expo devices`.
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -336,12 +340,18 @@ Rust Core (libsd_mobile_core.a)
|
|||||||
The Rust core must be built manually before running the app. The build script in the podspec is intentionally commented out to avoid build issues during Xcode compilation.
|
The Rust core must be built manually before running the app. The build script in the podspec is intentionally commented out to avoid build issues during Xcode compilation.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build for iOS (device + simulator) from project root
|
# Build for iOS/Android (device + simulator) from project root. iOS will only build on MacOS
|
||||||
cargo xtask build-mobile
|
cargo xtask build-mobile
|
||||||
|
|
||||||
# Libraries are output to:
|
# Libraries are output to:
|
||||||
|
|
||||||
|
# iOS
|
||||||
# apps/mobile/modules/sd-mobile-core/ios/libs/device/libsd_mobile_core.a
|
# apps/mobile/modules/sd-mobile-core/ios/libs/device/libsd_mobile_core.a
|
||||||
# apps/mobile/modules/sd-mobile-core/ios/libs/simulator/libsd_mobile_core.a
|
# apps/mobile/modules/sd-mobile-core/ios/libs/simulator/libsd_mobile_core.a
|
||||||
|
|
||||||
|
# Android
|
||||||
|
# apps/mobile/modules/sd-mobile-core/android/src/main/jniLibs/arm64-v8a/libsd_mobile_core.so
|
||||||
|
# apps/mobile/modules/sd-mobile-core/android/src/main/jniLibs/x86_64/libsd_mobile_core.so
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Known Issues and Fixes
|
#### Known Issues and Fixes
|
||||||
@ -387,6 +397,11 @@ pkill -f xcodebuild
|
|||||||
rm -rf ~/Library/Developer/Xcode/DerivedData/Spacedrive-*
|
rm -rf ~/Library/Developer/Xcode/DerivedData/Spacedrive-*
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Android build errors:**
|
||||||
|
`"Android NDK not found. Set ANDROID_NDK or ANDROID_NDK_HOME"`
|
||||||
|
|
||||||
|
If you haven't already, you'll need to install NDK (26.1.10909125) and CMake from Android Studio and add it as an environment variable to your system as either `ANDROID_NDK` or `ANDROID_NDK_HOME`. You can find the directory in the path of your Android SDK.
|
||||||
|
|
||||||
#### Adding New Native Functionality
|
#### Adding New Native Functionality
|
||||||
|
|
||||||
To add new native functionality exposed to JavaScript:
|
To add new native functionality exposed to JavaScript:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user