手动编译cloudflared
Easul Lv6

由于我需要手动编译 cloudflaredarmv7 版本,从而可以在安卓10的手机上用。
但默认的 cloudflared 的编译脚本不支持,故使用下边的相关命令进行编译。

首先进入 cloudflared 的仓库,并进入 codespace 进行编译。
然后参考下边的命令。

BASH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
# 构建 cloudflare 需要的go环境
bash ./.teamcity/install-cloudflare-go.sh
# 下载ndk
mkdir -p /tmp/software/android-ndk
cd /tmp/software/android-ndk
wget "https://dl.google.com/android/repository/android-ndk-r27c-linux.zip?hl=zh-cn" -O "android-ndk-r27c-linux.zip"
unzip android-ndk-r27c-linux.zip
rm -rf android-ndk-r27c-linux.zip
# 设置 GOROOT,否则编译的时候会使用默认的 GOROOT,版本会有区别
export GOROOT=/tmp/go
export PATH=$GOROOT/bin:$PATH
# 设置编译时的信息
export CGO_ENABLED=1
export GOOS=android
export GOARCH=arm
export GOARM=7
export CC=/tmp/software/android-ndk/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang
export CXX=/tmp/software/android-ndk/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++
# 进行编译
go build -x -v -o cloudflared ./cmd/cloudflared

编译后,就可以在项目的当前目录下得到 cloudflared 了。

 评论