Compilación de kiss-ftpd ( programa en lenguaje rust ) para set-top box android

El busybox viene con un código ftp desordenado, así que voy a compilar un kiss-ftpdAbrir en una nueva ventana para usarlo en el set-top box.

En primer lugar rustup target add aarch64-linux-android

Luego instala el NDK para Android, yo lo hice con Android Studio, captura de pantalla abajo.

Por supuesto, también puedes descargar el NDK directamente y descomprimirloAbrir en una nueva ventana.

En 2021, la versión más alta del NDK soportada por rust es la 22.1.7171670Abrir en una nueva ventana, así que usa esa primero.

Por último, el script de compilación es el siguiente.

#!/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
Actualizaciones:
Desde: gcxfd