androidsdk編譯中怎么將源代碼加入android.jar以及make原理

這篇文章主要介紹android sdk編譯中怎么將源代碼加入android.jar以及make原理,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、安慶網(wǎng)絡(luò)推廣、小程序制作、安慶網(wǎng)絡(luò)營銷、安慶企業(yè)策劃、安慶品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供安慶建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

首先是這個問題如何修改。
在/frameworks/base/Android.mk中,找到如下行:
packages_to_document :=
在該變量的賦值語句最后添加
xxxxx (這里是你的包的名稱,比如com/sina/ui,其實這里就是你的源代碼在/frameworks/base/<你的模塊>/java/下面的一部分路徑,只要能夠唯一的匹配到你的代碼即可)

即可。

該添加的含義是使MAKE系統(tǒng)在制作OFF-LINE DOCUMENT時包含我們的package.
以此類推,添加其他新的package也可以這樣做。

下面簡單把android make sdk的過程寫一下來說明為什么做這樣的修改。調(diào)查時是反過來調(diào)查的。說明還是按照MAKEFILE的生成的順序來說明吧。
首先在/frameworks/base/Android.mk中定義了進(jìn)行sdk building的基本目標(biāo)對象。
包括對哪些.java文件需要生成API文檔,以及這些文檔的路徑。
然后在/build/core/droiddoc.mk中定義了最終進(jìn)行build的規(guī)則和語句。

Android使用javadoc這個工具來生成所有API文檔。
Javadoc這個工具可以帶一個參數(shù)指定一個文件,該文件包含了所有要生成文檔的源文件的名字(全路徑)。
該文件的內(nèi)容就是通過在/framework/base/android.mk里的變量生成的。當(dāng)然在droiddoc.mk中還添加了build過程中生成的intermediates目錄下的文件。

另外javadoc還可以指定定制的doclet(doclet是基于javadoc特定的API開發(fā)的小程序,該程序負(fù)責(zé)實際的文檔輸出).android的編譯系統(tǒng)就包含了這樣一個doclet叫DroidDoc。可以在/build/tools/DroidDoc目錄下找到該工具的全部源代碼。

正是該工具在生成HTML的同時在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates下面copy(或者說重新生成了)所有將生成到android.jar中的所有源代碼(.java文件).
該工具把所有生成document的源文件重新按Package組織生成在以上目錄下。
然后進(jìn)行編譯和打包成android.jar。
根據(jù)以上分析,其實android.jar文件是各個公布出來的 API 的源文件經(jīng)過javadoc重新組織以后再次編譯產(chǎn)生的。 故,android.jar的內(nèi)容實際上受到j(luò)avadoc的notation控制和makefile的控制。 對于android中已存在的代碼比如wifi native,可以通過修改源代碼中javadoc的notation的方法重新build得到新的包含wifi native接口的android.jar(將源文件中的@hide這個notation換成別的,然后make update-api;make
sdk)。而對于新加入的代碼,則需要如上方法來修改makefile了。

下面總結(jié)一下調(diào)查過程中涉及到的知識:
1) javadoc和doclet,簡單的看了一下工具的使用和參數(shù),另外看了一下DriodDoc這個doclet的源代碼,找出哪里生成的.java源文件。
2.makefile分析,android的make showcommands命令可以和任何其他目標(biāo)一起使用來察看make過程中實際做了一些什么事情。(這點還需要調(diào)查這個showcommands如何實現(xiàn)的,因為make -d這個命令給出的信息對于找到問題幫助不大)
3.在跟蹤makefile build過程時,使用$(warning xxxxx)和$(error xxxx)可以在除規(guī)則以外的地方打印出變量的值通過這個方法找出了實際建立要編譯的文件列表的地方。

以上是“android sdk編譯中怎么將源代碼加入android.jar以及make原理”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:androidsdk編譯中怎么將源代碼加入android.jar以及make原理
網(wǎng)站鏈接:http://muchs.cn/article12/ihsogc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站排名自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)、小程序開發(fā)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)