mirror of
https://github.com/openlibrecommunity/olcng.git
synced 2026-07-03 14:05:17 +02:00
60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -o errexit
|
|
set -o pipefail
|
|
set -o nounset
|
|
|
|
# Set magic variables for current file & dir
|
|
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
|
__base="$(basename "${__file}" .sh)"
|
|
|
|
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; exit 1' ERR INT
|
|
|
|
export ANDROID_HOME=${ANDROID_HOME:-/opt/android-sdk}
|
|
export NDK_HOME=${NDK_HOME:-$ANDROID_HOME/ndk/25.2.9519653}
|
|
|
|
if [[ ! -d $NDK_HOME ]]; then
|
|
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Updating submodules..."
|
|
cd "$__dir"
|
|
git submodule update --init --recursive
|
|
|
|
echo "Setting up gomobile..."
|
|
export PATH=$PATH:$(go env GOPATH)/bin
|
|
if ! command -v gomobile &> /dev/null; then
|
|
go install golang.org/x/mobile/cmd/gomobile@latest
|
|
go install golang.org/x/mobile/cmd/gobind@latest
|
|
gomobile init
|
|
fi
|
|
|
|
echo "Building AndroidLibXrayLite (libv2ray.aar)..."
|
|
pushd "$__dir/AndroidLibXrayLite" >/dev/null
|
|
go mod tidy
|
|
gomobile bind -v -androidapi 21 -ldflags='-s -w' -o libv2ray.aar ./
|
|
popd >/dev/null
|
|
|
|
echo "Building hev-socks5-tunnel..."
|
|
bash "$__dir/compile-hevtun.sh"
|
|
|
|
echo "Copying libraries to V2rayNG/app/libs..."
|
|
mkdir -p "$__dir/V2rayNG/app/libs"
|
|
cp -r "$__dir/libs/"* "$__dir/V2rayNG/app/libs/" 2>/dev/null || true
|
|
cp "$__dir/AndroidLibXrayLite/libv2ray.aar" "$__dir/V2rayNG/app/libs/"
|
|
|
|
echo "Building V2rayNG apk..."
|
|
pushd "$__dir/V2rayNG" >/dev/null
|
|
BUILD_TYPE=${1:-assembleDebug}
|
|
if [[ "$BUILD_TYPE" == "release" ]]; then
|
|
BUILD_TYPE="assembleRelease"
|
|
elif [[ "$BUILD_TYPE" == "debug" ]]; then
|
|
BUILD_TYPE="assembleDebug"
|
|
fi
|
|
|
|
./gradlew $BUILD_TYPE
|
|
popd >/dev/null
|
|
|
|
echo "Build complete."
|