安裝交叉編譯工具arm-none-linux-gnueabi-gcc——Linux上編譯在android上執行的c程式
阿新 • • 發佈:2019-02-15
# vim /etc/bash.bashrc 在最後新增
PATH=$PATH:/usr/local/arm-2014.05/bin
source /etc/bash.bashrc 使其立刻生效
開啟另一個終端
執行 arm-none-linux-gnueabi-gcc -v,顯示版本即說明安裝成功
方法二、
使用命令直接安裝:
sudo apt-get install gcc-arm-linux-gnueabi
執行gcc-arm-linux-gnueabi -v命令,顯示版本,則表示安裝成功
二、編譯hello.c
建立hello.c檔案,其內容為
#include <stdio.h> int main() { int i=0; printf("hi ym012 %d/n",i); return; }
編譯出hello可執行程式,生成hello可執行程式:
arm-linux-gnueabi-gcc -static hello.c -o hello
將hello push到手機中並執行:
adb push hello /system/bin/hello
adb shell
chmod 777 /system/bin/hello
hello
三、在android原始碼中編譯
在android原始碼/development目錄下,建立資料夾/hellotest,將c程式放入該資料夾,並製作Android.mk檔案。
針對我製作的mk如下:
LOCAL_PATH:=$(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES:=\ hello.c LOCAL_MODULE:=helloworld LOCAL_MODULE_TAGS := optional include $(BUILD_EXECUTABLE)
檔案目錄為:
developments/hello/hello.c Android.mk
編譯程式碼:
在原始碼根目錄下執行:
$ source build/envsetup.sh
$ lunch
choose one product
$ cd development/hello
$ mm
執行成功後,在out/target/product/.../system/bin下就出來了hello。
將其push到手機/system/bin下,並賦予許可權,就可以執行了