Is husi not in your language, or the translation is incorrect or incomplete? Get involved in the translations on our Weblate.
git clone https://github.com/xchacha20-poly1305/husi.git --depth=1
cd husi/
./run lib source # Will help you to get submodules
Environment:
-
Go (1.22+) But should apply patch
Go1.22.5: Apply this patch to
${GOROOT}/src/runtime/cgocall.go
Go1.23: Apply this patch (You should decode base64 first) to
${GOROOT}
-
Openjdk-17 (Other version is ok. But require version 17 to build the same file as action.)
Run:
make libcore
This will generate app/libs/libcore.aar
.
If gomobile is not in the GOPATH, it will be automatically downloaded and compiled.
If you don't want to build it, you can download then in actions
Environment:
- jdk-17-openjdk
- ndk 27.0.12077973
If the environment variables $ANDROID_HOME
and $ANDROID_NDK_HOME
are not set, you can run the script buildScript/init/env_ndk.sh
:
echo "sdk.dir=${ANDROID_HOME}" > local.properties
Signing preparation (optional, it is recommended to sign after compilation): Replace release.keystore
with your own keystore.
echo "KEYSTORE_PASS=" >> local.properties
echo "ALIAS_NAME=" >> local.properties
echo "ALIAS_PASS=" >> local.properties
Download geo resource files:
make assets
Compile the release version:
make apk
The APK file will be located in app/build/outputs/apk
.
make plugin PLUGIN=<Plugin name>
Plugin name list:
hysteria2
juicity
naive
mieru
Core:
Android GUI: