1. 程式人生 > >利用Android原始碼編譯一個自己寫的Hello World模組

利用Android原始碼編譯一個自己寫的Hello World模組

這應該是我的Android底層開發第二篇文章,在編譯Android原始碼成功的基礎上又進一步利用Android原始碼編譯成功了一個自己寫的hello world,算入門第二步了。
1、在android 原始碼路徑下的development路徑下建立hello路徑;
2、建立hello.c檔案;
3、在hello.c檔案中寫入以下內容:

點選(此處)摺疊或開啟

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     printf("Hello World!\n");// 輸出Hello 
  5.     return 0;
  6. }
4、建立Android.mk檔案;
5、在Android.mk檔案中寫入以下內容:

點選(此處)摺疊或開啟

  1. LOCAL_PATH:=$(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_SRC_FILES:=\
  4. hello.c
  5. LOCAL_MODULE:=helloworld
    LOCAL_MODULE_TAGS := optional
  6. include $(BUILD_EXECUTABLE)
6、回到原始碼頂層目錄
7、單獨編譯helloworld模組:

點選(此處)摺疊或開啟

  1. make helloworld
    比編譯整個原始碼時間短多了。
8、進入原始碼路徑下的out/target/product/generic路徑
9、後臺方式執行模擬器

點選(此處)摺疊或開啟

  1. emulator @avd名稱 -image system.img -data userdata.img -ramdisk ramdisk.img &
       終端執行後多回次回車。
10、 將helloworld檔案複製到模擬器中

點選(此處)摺疊或開啟

  1. adb root
  2. adb remount
  3. 進入原始碼路徑下的out/target/product/generic/system/bin路徑下
  4. adb push ./helloworld /system/bin
11、進入虛擬機器看結果

點選(此處)摺疊或開啟

  1. adb shell
  2. cd /system/bin
  3. ./helloworld