自己編譯安卓系統
Android源碼目錄下的build/envsetup.sh文件,描述編譯的命令
- m: Makes from the top of the tree.
- mm: Builds all of the moles in the current directory.
- mmm: Builds all of the moles in the supplied directories.
要想使用這些命令,首先需要在android源碼根目錄執行. build/envsetup.sh 腳本設置環境
m:編譯所有的模塊
mm:編譯當前目錄下的模塊,當前目錄下要有Android.mk文件
mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件
下面舉個例子說明,假設我要編譯android下的\hardware\libhardware_legacy\power模塊,當前目錄為源碼根目錄,方法如下:
1、. build/envsetup.sh
2、mmm hardware/libhardware_legacy/power/
編譯完後 運行 make snod
會重新將你改過的模塊打入到system.img中
⑵ 自己下載源碼,編譯出一個在手機上能用的Android系統,是不可能實現的吧
就是所謂的ADP機android developer phone(現在是Nexus One)是可以在google網站上下載到源代碼,其他的手機就去手機廠商的開發者平台網站上去查找是否有對應源碼,因為每個機子都有其對應的BSP,這些肯定得廠商提供
⑶ 如何將自己寫的程序 編譯成android 自帶的程序
首先你也放到packages/apps下,不過要修改的不是makefile,是Android.mk文件。如果你的HelloWorld是從eclipse下面建立出來的,默認是沒有Android.mk文件的,要自己寫一個。
⑷ 如何自己編譯android系統並製作刷機包
android系統製作刷機包方法:
【一】:下載安裝最新版ROM助手(市場中有很多類似的製作工具,關鍵要求操作簡單,功能強大),安裝程序非常簡單,只需在一隻蘑菇首頁內直接下載,並解壓到自己的電腦安裝即可。
【二】:如果已經下載了與機型匹配的ROM刷機包,那麼現在可以直接打開ROM助手了,接下來繪制專屬個性的完美刷機包就從這里開始吧。
【三】:打開軟體後,它會自動升級到最新版本,另外打開主界面後,會直觀簡明的顯示出它的所有功能,例如:性能優化,系統精簡,預裝APK,簽名打包等等。提醒大家,不要貪心哦,要根據自己的需求點擊需要操作的功能,如系統精簡,然後進入操作界面,所有功能全部修改一遍也無妨,反正都是一鍵操作,省時省力。
⑸ 我的手機是安卓系統的,如果我想自己編寫程序自己安裝在手機裡面,我應該怎麼做,應該從哪裡下手
學畫畫都是先從臨摹開始,你也應該遵循規律,你寫安卓程序,應該先找個安卓的小軟體。然後自己模仿著或者改進那個程序。然後再裝到手機里。如果運行了就成功了。
⑹ 自己可以編譯安卓源碼嗎
用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:
sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」
其中[email protected]為你自己的郵箱.
簡要說明
android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.
源碼下載
由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)
repo工具下載及安裝
通過執行以下命令實現repo工具的下載和安裝
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:
我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:
這里寫圖片描述
執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.
錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:
通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.
結束吧
到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.
⑺ 如何編譯一個精簡的Android系統
本次試驗使用的android源碼是4.2,編譯的架構是mini-mips。
一、所做的工作
1、修改build/target/proct/mini.mk,去掉一些不必要的模塊(例如Phone、DownloadManager等)
2、修改SystemServer.java,屏蔽一些service,讓系統能夠啟動起來(例如,Location Manager、Telephony Registry)
3、修改dalvik/vm/native/dalvik_system_Zygote.cpp,注釋掉因為檢查不到外部存儲而導致dalvik abort的地方 (這是googel的一個bug,在2013年1月份已解決,如果用這以後的代碼不用修改此處)
4、修改WindowManagerService.java,把發送BOOT_TIMEOUT消息的時間改為0(之前為30秒)
二、系統優化後的效果(驗證工作均在mips模擬器上進行)
1、節省運行內存,下面是全編譯與mini編譯的內存使用狀態的對比
1)full build
MemTotal: 499360 kB
MemFree: 242064 kB
2)mini build
MemTotal: 499360 kB
MemFree: 395192 kB
2、縮短開機啟動時間
在虛擬機上的啟動時間
1)full build-29秒
2)mini build-14秒
3、只啟動home程序,其餘的應用程序均被移除
三、保留android的開發環境
1、adb,ddms,apkinstall等,都能正常工作
2、在eclipse中編寫的android應用程序能夠運行在該mini-android之上
四、開機自動啟動指定應用程序
本次測試使用Gallery.apk應用程序,修改其源碼後可以實現隨系統的啟動而自動啟動的功能。
⑻ 自己編譯安卓源碼怎麼實現root
建議按如下步驟操作:
1、使用USB數據線將手機與電腦連接。
2、 在電腦上,打開360安全衛士,找到360手機助手,點擊「立即連接」。
3、下載並安裝手機版360手機助手。
4、選擇『我的手機』,點擊『管理你的手機預裝軟體』,就可以准確的查看到自己的手機有多少個自帶軟體。可以點擊右上角的「一鍵root」,也可以卸載如何一個軟體,系統會自動提醒你「root」的,點擊確定。
5、獲取ROOT許可權的時間有點長,大概需要5-10分鍾,具體和手機的內存及軟體有關。
6、當屏幕顯示「恭喜您,已經成功獲取root許可權!」字樣,就說明完工了,再點擊「完成」就可以了。
7、現在手機已經成功獲取root許可權,可以點擊『我的手機』,再點擊「管理預裝軟體「進行卸載了。值得注意的是,並不是所有的軟體都可以刪,有些如日歷、計算機、天氣等必備軟體刪除了,手機可能就要刷機了,ROOT是回不去的,要慎重選擇要刪除的軟體。
⑼ 自己編寫一個安卓操作系統要多久,我天天都有時間
你是說移植一個安卓系統到某個機型上吧
如果只是滿足基礎功能(通話、應用),一個月時間(前提是原機型開源)
如果想憑自己完善一個移植的版本,幾乎不可能(畢竟小米、華為,哪怕是三星,或是採用ios的iphone也會有bug的)
⑽ 有手機的源代碼,如何編譯安卓4.4的系統
代碼編譯…
恐怕這個不是隨隨便便在這里幾句話就能說明白的…
首先要下載安卓4.4的內核,
然後要把廠商的手機源代碼編譯進去,
還要自己寫腳本,
很多都是很技術的活。
lz確定能hold住么?