首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 10481|回復(fù): 0
上一主題 下一主題
[教程]

如何單獨編譯Android源代碼中的模塊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
第一次下載好Android源代碼工程后,我們通常是在Android源代碼工程目錄下執(zhí)行make命令,經(jīng)過漫長的等待之后,就可以得到Android系統(tǒng)鏡像system.img了。以后如果我們修改了Android源代碼中的某個模塊或者在Android源代碼工程新增一個自己的模塊,是不是還是執(zhí)行make命令呢?答案是否定的,Google為我們準(zhǔn)備了另外的命令來支持編譯單獨的模塊,以及重新打包system.img的命令。在繼續(xù)學(xué)習(xí)Android源代碼之前,就讓我們先來看看這個命令吧。   
   
      一. 首先在Android源代碼目錄下的build目錄下,有個腳本文件envsetup.sh,執(zhí)行這個腳本文件后,就可以獲得一些有用的工具:   
   
      USER-NAME@MACHINE-NAME:~/Android$ .  ./build/envsetup.sh   
   
      注意,這是一個source命令,執(zhí)行之后,就會有一些額外的命令可以使用:   
   
      - croot: Changes directory to the top of the tree.   
   
      - m: Makes from the top of the tree.   
      - mm: Builds all of the modules in the current directory.   
      - mmm: Builds all of the modules in the supplied directories.   
      - cgrep: Greps on all local C/C++ files.   
      - jgrep: Greps on all local Java files.   
      - resgrep: Greps on all local res/*.xml files.   
      - godir: Go to the directory containing a file.   
      這些命令的具體用法,可以在命令的后面加-help來查看,這里我們只關(guān)注mmm命令,也就是可以用它來編譯指定目錄的所有模塊,通常這個目錄只包含一個模塊。   
      二. 使用mmm命令來編譯指定的模塊,例如Email應(yīng)用程序:   
      USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/   
      編譯完成之后,就可以在out/target/product/generic/system/app目錄下看到Email.apk文件了。Android系統(tǒng)自帶的App都放在這具目錄下。另外,Android系統(tǒng)的一些可執(zhí)行文件,例如C編譯的可執(zhí)行文件,放在out/target/product/generic/system/bin目錄下,動態(tài)鏈接庫文件放在out/target/product/generic/system/lib目錄下,out/target/product/generic/system/lib/hw目錄存放的是硬件抽象層(HAL)接口文件,后面的文章里面,我們會陸續(xù)提及到,敬請關(guān)注。   
      三. 編譯好模塊后,還要重新打包一下system.img文件,這樣我們把system.img運行在模擬器上時,就可以看到我們的程序了。   
      USER-NAME@MACHINE-NAME:~/Android$ make snod   
      四. 參照Ubuntu上下載、編譯和安裝Android最新源代碼一文介紹的方法運行模擬器:   
      USER-NAME@MACHINE-NAME:~/Android$ emulator   
      這樣一切就搞定了

上一篇:主流UI設(shè)計
下一篇:Android開發(fā)筆記第四篇(應(yīng)用解析)
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-10-23 06:20 , Processed in 0.054520 second(s), 13 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表