Compilation de kiss-ftpd (programme en langage rust) pour le set-top box android

La busybox est livrée avec un code ftp désordonné, je vais donc compiler un kiss-ftpdOuvrir dans une nouvelle fenêtre à utiliser sur la set-top box.

Tout d'abord rustup target add aarch64-linux-android

Ensuite, installez le NDK pour Android, je l'ai fait avec Android Studio, capture d'écran ci-dessous.

Bien entendu, vous pouvez également télécharger directement le NDK etOuvrir dans une nouvelle fenêtre le décompresserOuvrir dans une nouvelle fenêtre.

En 2021, la plus haute version du NDK supportée par rust est 22.1.7171670Ouvrir dans une nouvelle fenêtre, donc utilisez-la en premier.

Enfin, le script de compilation est le suivant.

#!/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
Mises à jour:
De: gcxfd