交叉編譯(把fio編譯成Android可以執行的文件)


 交叉編譯

 

把fio編譯成Android可以執行的文件

0.環境

  Android 9

  Ubuntu20.04

1. 安裝Android NDK

  下載Android NDK: https://developer.android.google.cn/ndk/downloads

  

  2. 解壓

unzip android-ndk-r21d-linux-x86_64.zip

  3. 添加環境變量

vim /etc/profile

    在文件中添加下面命令

export NDK_HOME=/home/shenhao/android-ndk-r21d
export PATH=$PATH:$NDK_HOME

  使文件生效

source /etc/profile

  4. 檢驗是否安裝成功

ndk_build

3. 把fio編譯成Android可以執行的文件 

 1. 下載fio

  https://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git/

  git clone https://github.com/axboe/fio.git

 2. 解壓

tar -xvf fio-3.17.tar.gz

 3. 通過NDK編譯fio

UNAME=Android CROSS_COMPILE=/home/shenhao/workSpace/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21- CC=/home/shenhao/workSpace/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang ./configure

 # 思考過程

./configure --cpu=arch --cc=aarch64-linux-gnu-gcc --build-static --disable-shm
./build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-21 --install-dir=/home/shenhao/workSpace/android-ndk-r21e/android-toolchain --toolchain=arm-linux-androideabi-4.9

 4. 編譯

make

 說明:

  其中UNAME用於配置程序運行的環境,CROSS_COMPILE以及CC用於配置Android的工具鏈,

  其中android21等標志是用來區分不同的Android版本,一般來說Android是往前兼容的,使用低版本的編譯出來的程序依然可以在高版本的Android運行

 報錯:

HOST_OS=linux
HOST_EXE=
HOST_ARCH=x86_64
HOST_TAG=linux-x86_64
HOST_NUM_CPUS=4
BUILD_NUM_CPUS=8
ERROR: Failed to create toolchain

  解決方法

apt-get install python

  

參考:

  https://blog.csdn.net/mysterious_9527/article/details/91360280

  https://blog.csdn.net/u011649400/article/details/113759374

  https://www.jianshu.com/p/3bbad4b1b099

  https://blog.csdn.net/weixin_42775140/article/details/108648460

  https://blog.csdn.net/aa787282301/article/details/109230094


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM