前置条件
- Ubuntu 20 桌面版本(或者MacOS)
- 代码库NekoX
- git安装[apt-get install git]
- jdk8以上版本安装(oracle版本)
安装Git、JDK11、make命令、cmake命令、yasm命令
1、apt install git
2、apt install cmake
3、apt install make
4、apt install yasm
5、注意:如果是MacOS电脑,将apt换成brew
6、安装JDK,参考https://blog.csdn.net/pang_ping/article/details/80570011
安装gomobile
1、go install golang.org/x/mobile/cmd/gomobile@latest
2、将go的可执行文件路径增加到PATH环境变量中,例如~/go/bin
加到PATH中,在任意目录下可执行gomobile命令
下载源代码
1、[下载NekoX源代码]git clone https://github.com/NekoX-Dev/NekoX.git
2、[下载子项目源代码]
git submodule init
git submodule update
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain none -y
echo "source \$HOME/.cargo/env" >> $HOME/.bashrc && source $HOME/.cargo/env
rustup install $(cat ss-rust/src/main/rust/shadowsocks-rust/rust-toolchain)
rustup default $(cat ss-rust/src/main/rust/shadowsocks-rust/rust-toolchain)
rustup target install armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
解压ninja工具
1、下载ninja工具
2、解压ninja-*.zip
3、注意:将ninja放到PATH下,需要任何路径下能够访问ninja --version
3、export NINJA_PATH= {目录}/ninja
配置Android NDK、SDK环境变量
export NDK={{NDK 21版本}}根目录
export ANDROID_HOME={SDK}根目录
修改NekoX目录下代码
1、vi {NekoX目录}/bin/init/libs.sh
2、修改bin/init/libs/libvpx_x.sh
为bin/init/libs/libvpx_x86.sh
3、修改build_libvpx_clang.sh文件,路径NekoX/TMessagesProj/jni/build_libvpx_clang.sh
4、修改LLVM_PREFIX="${NDK}/toolchains/llvm/prebuilt/linux-x86_64"
为LLVM_PREFIX="${NDK}/toolchains/llvm/prebuilt/${BUILD_PLATFORM}"
编译基础库
1、进入项目目录cd NekoX
2、编译所有的基础库./run init libs
3、更新并打包库./run libs update