| .github/workflows | ||
| android | ||
| assets | ||
| docs | ||
| installers | ||
| integration_test | ||
| ios | ||
| lib | ||
| macos | ||
| mycelffi | ||
| mycelmob | ||
| test | ||
| test_driver | ||
| windows | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
mycelium_gui
A mycelium flutter GUI
Development
prequisites
- install flutter SDK https://docs.flutter.dev/get-started/install according to your platforms
- install Rust
- vscode for editing the Dart code
iOS
requirements
- Real iPhone is needed for test, we can't use Simulator here because mycelium need iOS
Network Extensionswhich can't run on Simulator.
build iOS Swift-Rust Bridge
cd mycelmob
bash build-ios.sh
there is IPHONEOS_DEPLOYMENT_TARGET variable in the build-ios.sh which need to be the same with the value set in XCode.
Macos
build Macos Swift-Rust Bridge
cd mycelmob
bash build-mac.sh
Android
requirements
- Android Studio. The flutter related configuration can be found in the above flutter SDK installation guide
- Android NDK 26.1.10909125. Updated version can be found at
android/app/build.gradlefile
build Android Kotlin-Rust Bridge
cd mycelmob
bash build-android.sh
Windows
requirements
Visual Studio 2022.
Complete list at https://docs.flutter.dev/get-started/install/windows/desktop#software-requirements
build Windows DLL
cd mycelffi
./build.bat
run
go to mycelium_gui dir
flutter pub getflutter run- or using vscode:
code .(to open vscode)Run-> `Start Debugging
Usage
Windows
We currently need to run it as administrator
Installer / Release
Android
self distributed .apk
flutter build apk
google playstore release
- create the signature, as described at https://docs.flutter.dev/deployment/android#sign-the-app
- change
signingConfig signingConfigs.debugin build.gradle tosigningConfig signingConfigs.release - increase build number in pubspec.yaml
- build the
.aab(application bundle)
flutter build appbundle
Windows
Build in release mode
flutter build windows --release
copy visual studo .dll files:
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\msvcp140.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\msvcp140_1.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\msvcp140_2.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\vcruntime140.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\vcruntime140_1.dll' .\build\windows\x64\runner\Release\
run preparation script
.\installers\windows\prepare.bat
Run Inno Setup, our working dir is build\windows\x64\runner\Release:
- mycelium-network.exe as the application main executable (it is renamed from the original mycelium_gui.exe)
add file(s)and add all.dllfilesadd folderand adddatafolder with it's subdirectories
Scroll down the list & select the data folder path and click on Edit… button.
It is important to ensure that the destination sub-folder has the same name data otherwise the app wont run after installation as all contents of the folder are dispersed outside. So, enter the name of the Destination subfolder as data and click OK.
The Inno Setup script can be found here, you need to modify the path (according to your env) before Build it on Inno Setup app.