mirror of
https://github.com/cedar2025/hysteria.git
synced 2025-06-08 05:19:56 +00:00
Merge pull request #687 from xishang0128/master
feat: add android build
This commit is contained in:
commit
c73570f582
9
.github/workflows/master.yml
vendored
9
.github/workflows/master.yml
vendored
@ -26,7 +26,16 @@ jobs:
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- uses: nttld/setup-ndk@v1
|
||||
id: setup-ndk
|
||||
with:
|
||||
ndk-version: r25b
|
||||
add-to-path: false
|
||||
local-cache: true
|
||||
|
||||
- name: Run build script
|
||||
env:
|
||||
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||
run: |
|
||||
export HY_APP_PLATFORMS=$(sed 's/\r$//' platforms.txt | awk '!/^#/ && !/^$/' | paste -sd ",")
|
||||
python hyperbole.py build -r
|
||||
|
9
.github/workflows/release.yml
vendored
9
.github/workflows/release.yml
vendored
@ -26,7 +26,16 @@ jobs:
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- uses: nttld/setup-ndk@v1
|
||||
id: setup-ndk
|
||||
with:
|
||||
ndk-version: r25b
|
||||
add-to-path: false
|
||||
local-cache: true
|
||||
|
||||
- name: Run build script
|
||||
env:
|
||||
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||
run: |
|
||||
export HY_APP_PLATFORMS=$(sed 's/\r$//' platforms.txt | awk '!/^#/ && !/^$/' | paste -sd ",")
|
||||
python hyperbole.py build -r
|
||||
|
20
hyperbole.py
20
hyperbole.py
@ -204,13 +204,31 @@ def cmd_build(pprof=False, release=False):
|
||||
out_name += ".exe"
|
||||
|
||||
env = os.environ.copy()
|
||||
env["CGO_ENABLED"] = "0"
|
||||
env["GOOS"] = os_name
|
||||
if arch in ARCH_ALIASES:
|
||||
for k, v in ARCH_ALIASES[arch].items():
|
||||
env[k] = v
|
||||
else:
|
||||
env["GOARCH"] = arch
|
||||
if os_name == "android":
|
||||
env["CGO_ENABLED"] = "1"
|
||||
ANDROID_NDK_HOME = (
|
||||
os.environ.get("ANDROID_NDK_HOME")
|
||||
+ "/toolchains/llvm/prebuilt/linux-x86_64/bin"
|
||||
)
|
||||
if arch == "arm64":
|
||||
env["CC"] = ANDROID_NDK_HOME + "/aarch64-linux-android33-clang"
|
||||
elif arch == "armv7":
|
||||
env["CC"] = ANDROID_NDK_HOME + "/armv7a-linux-androideabi33-clang"
|
||||
elif arch == "386":
|
||||
env["CC"] = ANDROID_NDK_HOME + "/i686-linux-android33-clang"
|
||||
elif arch == "amd64":
|
||||
env["CC"] = ANDROID_NDK_HOME + "/x86_64-linux-android33-clang"
|
||||
else:
|
||||
print("Unsupported arch for android: %s" % arch)
|
||||
return
|
||||
else:
|
||||
env["CGO_ENABLED"] = "0"
|
||||
|
||||
plat_ldflags = ldflags.copy()
|
||||
plat_ldflags.append("-X")
|
||||
|
@ -22,6 +22,12 @@ linux/s390x
|
||||
linux/mipsle
|
||||
linux/mipsle-sf
|
||||
|
||||
# Android
|
||||
android/386
|
||||
android/amd64
|
||||
android/armv7
|
||||
android/arm64
|
||||
|
||||
# FreeBSD
|
||||
freebsd/amd64
|
||||
freebsd/amd64-avx
|
||||
|
Loading…
x
Reference in New Issue
Block a user