Kiss-ftpd ( rooste keele programm ) android digiboksi jaoks kompileerimine
Busyboxiga on kaasas räpane ftp-kood, nii et ma kavatsen kompileerida kiss-ftpd, mida kasutada digiboksis.
Esiteks rustup target add aarch64-linux-android
Seejärel installige NDK for Android, ma tegin seda Android Studio abil, ekraanipilt allpool.
Loomulikult võite NDK ka otse alla laadida ja lahti pakkida.
Aastal 2021 on rooste poolt toetatud NDK kõrgeim versioon 22.1.7171670, seega kasutage kõigepealt seda.
Lõpuks on kompileerimisskript järgmine.
#!/usr/bin/env bash
DIR=$(cd "$(dirname "$0")"; pwd)
set -ex
cd $DIR
export API=30
export NDK_VERSION=22.1.7171670
export TARGET=aarch64-linux-android
export os=`uname -s|awk '{ print tolower($0) }'`
export NDK=$HOME/Library/Android/sdk/ndk/$NDK_VERSION
export ANDROID_NDK_HOME=$NDK
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$os-x86_64
export PATH=$TOOLCHAIN/bin:$PATH
export AR=$TOOLCHAIN/bin/llvm-ar
export AS=$TOOLCHAIN/bin/$TARGET-as
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
export LD=$TOOLCHAIN/bin/$TARGET-ld
export RANLIB=$TOOLCHAIN/bin/$TARGET-ranlib
export STRIP=$TOOLCHAIN/bin/$TARGET-strip
CARGO_TARGET=`echo ${TARGET//-/_} | awk '{ print toupper($0) }'`
export CARGO_TARGET_${CARGO_TARGET}_LINKER=$CC
echo 'AR = '$AR
echo 'AS = '$AS
echo 'CC = '$CC
echo 'CXX = '$CXX
echo 'LD = '$LD
echo 'RANLIB = '$RANLIB
echo 'STRIP = '$STRIP
RUST_BACKTRACE=1 \
cargo +nightly build --release --target aarch64-linux-android