1. 程式人生 > >安裝交叉編譯工具arm-none-linux-gnueabi-gcc——Linux上編譯在android上執行的c程式

安裝交叉編譯工具arm-none-linux-gnueabi-gcc——Linux上編譯在android上執行的c程式


# 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下,並賦予許可權,就可以執行了