Skip to content

Commit

Permalink
Instructions for building Blixt Android on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
hsjoberg committed Feb 14, 2024
1 parent 7e21d89 commit 5b1c3ec
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ To start the application:
- Run: `yarn start-metro`
- Run: `yarn android:mainnet-debug` or `yarn android:testnet-debug`

For building Blixt Android on Windows, follow the build steps [here](./build-steps-android-windows.md).

### iOS

To build the iOS version, a computer running macOS is required. You also need an Apple Developer account, although you do not need to be enrolled in the Developer Program.
Expand Down
24 changes: 24 additions & 0 deletions build-steps-android-windows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Building Blixt Android for 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`.

## 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`:
`"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).

3. Maybe needs attention: weird `react-native-reanimated` error https://github.com/software-mansion/react-native-reanimated/issues/5625

4. Might need to do `npm start -- --port 8082` if something is hogging the default Metro port `8081`. `Ctrl+M` inside Blixt in the emulator. Change metro server to `<LAN IP>:8082`.

5. Happy Blixting!

0 comments on commit 5b1c3ec

Please sign in to comment.