From 5cf12954216988029e6d8de1d7d9be21519d42a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hampus=20Sj=C3=B6berg?= Date: Wed, 14 Feb 2024 18:00:36 +0400 Subject: [PATCH] Updates to Blixt Android on Windows build guide --- build-steps-android-windows.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/build-steps-android-windows.md b/build-steps-android-windows.md index cfd3c4da8..cd068693d 100644 --- a/build-steps-android-windows.md +++ b/build-steps-android-windows.md @@ -1,21 +1,27 @@ -# Building Blixt Android for Windows: +# Building Blixt Android on Windows: ## Pre-requisites: Follow the setup guide on https://reactnative.dev/docs/environment-setup?guide=native&os=windows. -You can also install OpenJDK via `winget` instead of `chocolatey`. +You can also install `OpenJDK` via `winget` instead of `chocolatey`. ## Guide 0. Install using `npm install --legacy-peer-deps` and do not use `yarn`. Yarn/Babel has some insane [bug](https://github.com/babel/babel/discussions/16255). Don't forget to do `npm run gen-proto` too after you've installed the packages. -1. Apply NativeBase patch in `package.json`: +1. NativeBase expects UNIX-like environment for compiling assets. Make sure that `npm` uses `Git Bash` as the shell instead of `Windows Command Prompt`: +`npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"`. +Your path to `Git Bash` may be different, double-check the location. + +Alternative solution: + +Apply our NativeBase patch in `package.json`: `"native-base": "git+https://github.com/hsjoberg/NativeBase.git#e6ec53fd1f3242f4e3d6fdf619750a96e39537de",` 2. Download `protoc.exe` manually from https://github.com/protocolbuffers/protobuf/releases and link it via `path = ...` in `gradle.build` instead of `artifact` https://github.com/hsjoberg/blixt-wallet/blob/7e21d898f0e76b19797b53907f029dba9b0bb767/android/app/build.gradle#L233-L235 -The pre-compiled protoc binary from `com.google.protobuf:protobuf-gradle-plugin` is dependent on libstdc++-6.dll for whatever reason, making execution fail (unless you have it. I couldn't get it working). +The pre-compiled protoc binary from `com.google.protobuf:protobuf-gradle-plugin` is dependent on `libstdc++-6.dll` for whatever reason, making execution fail (unless you have it. I couldn't get it working). 3. Maybe needs attention: weird `react-native-reanimated` error https://github.com/software-mansion/react-native-reanimated/issues/5625