1. 程式人生 > >寫一個android內置android程序

寫一個android內置android程序

nod 編譯錯誤 外部 post 沒有 ant gen fun ews

當我們編譯完畢android源代碼之後,就須要對他做點什麽事情,我如今正在看老羅的”Android源代碼情景分析”一書。在這裏主要是記錄一些書中沒有說清楚的地方.

相同。我們創建一個HelloWorld程序,以下看一下我的文件夾結構.

技術分享

然後我們就像平時開發android程序一樣。在第一個界面中放置一個 Hello World字符串,然後在自己的手機中測試一下。執行成功.好了。後面的工作比較重要.

在這裏記錄一下Android.mk裏面的內容,這個是必須要有的。由於mmm編譯的話。須要找到mk文件進行編譯.

LOCAL_PATH := $(call my-dir)
include
$(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_PACKAGE_NAME := HelloAndroid include $(BUILD_PACKAGE)

我們將這個androidproject拷貝到android源代碼文件夾下的/packages/experimental文件夾中,將HelloWorld項目中gen文件夾和bin文件夾中的內容清空.這一步很重要,要不然就會編譯錯誤.同一時候。眼下我還不知道假設有外部依賴的話,怎樣去編譯這個項目.

以下我們導入單獨編譯模塊的mmm命令.依照老羅的思路,在命令行模式下。進入android源代碼根文件夾,執行命令:

source ./build/envsetup.sh

這樣。我們就能夠使用mmm命令了。我們看一下mmm命令還能夠做什麽事情.使用以下的命令查看mmm命令的幫助文檔.

mmm -help

技術分享

普通情況下基本上就是在mmm命令後面加入程序所在的文件夾路徑就可以.

mmm ./packages/experimental/HelloWorld/

編譯完畢之後,我們就能夠使用make snod命令又一次打包Android系統鏡像文件了.

make snod

編譯完畢之後,我們又一次執行emulator,就能夠看到我們的HelloWorld成為了我們android的內置程序了.

技術分享

寫一個android內置android程序