手机linux编译器,在linux上交叉编译helloWorld到android手机上去
在ubuntu上交叉編譯helloWorld到arm64的android手機上去。
這里NDK用的是r19及以上的版本。
1. 安裝NDK
這里下載了 android-ndk-r21b,解壓到 /home/temp/programs/android-ndk-r21b
2. 寫main.cpp文件
#include
int main()
{
printf("hello world\n");
return 0;
}
3. 寫交叉編譯腳本 generate.sh
由于命令比較短,也可直接在命令行里寫。
新建generate.sh,并給執行權限 : chmod +x generate.sh
export NDK=/home/temp/programs/android-ndk-r21b
$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang++ \
main.cpp -o hello
使用了NDK 默認安裝的工具鏈,按照官網說明,NDK在r19之后,NDK 默認安裝的工具鏈可供使用。
可以不需要使用 make_standalone_toolchain.py 腳本生成獨立工具鏈來使用。
這樣使用自帶的工具鏈就比較方便,不用再配置sysroot等編譯選項。
其中NDK為自己解壓的目錄。
編譯器要選擇自己手機的架構,這里用的是arm64,所以是aarch64-linux-android。
編譯器要選擇android的api版本,這里用的是anroid 8.0.0,對應api是26。
Android NDK從r13起,默認使用Clang進行編譯。
交叉編譯出可執行程序hello
./generate.sh
4. 放到手機上執行
4.1 安裝adb工具
ubuntu下 :
sudo apt install android-tools-adb android-tools-fastboot
4.2 push到手機
adb push hello /data/local/tmp
4.3 給hello執行權限
adb shell
cd /data/local/tmp
chmod +x hello
4.4 執行hello
./hello
可以看到輸出
hello world
5. 參考
總結
以上是生活随笔為你收集整理的手机linux编译器,在linux上交叉编译helloWorld到android手机上去的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统运行快捷键,Linux操作
- 下一篇: 在linux配置jdk教程,Linux中