當前位置:首頁 » 編程軟體 » 安卓源碼編譯

安卓源碼編譯

發布時間: 2022-01-23 02:51:12

① Android源碼編譯是干什麼

編譯Android系統。

② 安卓源碼編譯成功為什麼不能運行

編譯:
1. 初始化:
source build/envsetup.sh
2. 選擇target
lunch
然後選擇aosp_arm

3.
make -j4

等待大概2個小時,就可以順利編譯完成。

模擬器運行
直接運行emulator,會出現如下錯誤:

emulator: ERROR: You did not specify a virtual device name, and the system

directory could not be found.

原因是文件路徑沒有設置,解決辦法添加絕對路徑:

out/host/linux-x86/bin/emulator -kernel prebuilts/qemu-kernel/arm/kernel-qemu -sysdir out/target/proct/generic/ -system out/target/proct/generic/system.img -ramdisk out/target/proct/generic/ramdisk.img -data out/target/proct/generic/userdata.img -sdcard sdcard.img -scale 0.7 -memory 512 -partition-size 1024

然後運行模擬器

③ 安卓怎麼使用修改過的源碼編譯程序

1、Android的文件系統結構是怎樣的,我們安裝的程序放在那裡?
編譯Android源碼之後,在out/target/proct/generic一些文件:
ramdisk.img、system.img、userdata.img、 system、 data、root
其中, system.img是由 system打包壓縮得到的, userdata.img是由 data打包壓縮得到的。

ramdisk.img是模擬器的文件系統,把ramdisk.img解壓出來可知道,ramdisk.img里的文件跟root文件夾的文件基本一樣。模擬器裝載ramdisk.img並解壓到內存,接著分別把system.img和userdata.img掛載到 ramdisk下的system和data目錄。我們編譯出來的應用程序就是放在system/app下的。用戶安裝的程序則是放在data/app下。

2、Android SDK和android源碼能為我們提供什麼工具?
AndroidSDK提供有很多工具,如adb,ddms,emulator,aapt等,並提供kernel-qemu、ramdisk.img、system.img、userdata.img。因此,只要有android SDK,我們就可以在模擬器上把android跑起來。
Android源碼可以編譯出android SDK、adb等工具、android文件系統,以及ADT插件,也就是說,我們可以從android源碼編譯出所有android相關的東西。

3、 把Android源 碼」make」之後會生成許多工具和android文件系統(system.img等),我們又可以使用「makesdk」來生成android SDK,android
SDK也包括有工具和android文件系統(system.img等),而原來安裝的時候我們也安裝了androidSDK,那麼我們在開發時應該使用那些工具和android文件系統呢?

④ 如何將源代碼編譯後的文件編譯到android中

1.將應用程序源碼復制進Android源碼目錄中(提前編譯好源碼) 2.使用build/envsteup.sh 配置shell - mm TARGET_PRODUCT=proct_name 或直接./build_android.sh 也能完成編譯。 3.在源碼目錄:out/target/proct/proctname/obj/APPS/test_cert_intermediates 下有三個文件:package.apk package.apk.unsigned package.apk.unaligned 將package.apk.unsigned復制出來,單獨進行sign. 4.在Windows下進行sign: jarsigner -verbose -keystore youkey.keystore d:\package.apk.unsigned youkey 5.zipalign -v 4 d:\package.apk.unsigned d:\package.signed.apk

⑤ 有手機的源代碼,如何編譯安卓4.4的系統

代碼編譯…
恐怕這個不是隨隨便便在這里幾句話就能說明白的…
首先要下載安卓4.4的內核,
然後要把廠商的手機源代碼編譯進去,
還要自己寫腳本
很多都是很技術的活。
lz確定能hold住么?

⑥ 編譯Android源碼和內核源碼的區別

Android源碼編譯之後生成的是ramdisk.img、system.img和userdata.img。而內核源碼編譯完成之後生成的是ZImage。在一般情況下Android源碼是不帶有內核源碼的,但是帶有一個鏡像,這樣在編譯完Android源碼之後就可以模擬器啟動了,如果要更換系統的內核,此時將高版本的內核源碼進行編譯生成ZImage然後替換Android系統的的鏡像。這樣使用模擬器啟動之後就可以查看內核是否已經被刷新。
請注意,android源碼和kernel源碼是分開下載的

編譯android源碼
進入source目錄下,執行make 即可。
編譯完成後,可以在源碼目錄的out/target/proct/generic/目錄下看到編譯好的ramdisk.img、system.img和userdata.img了。

編譯內核源碼
新建Kernel/goldfish,在這個目錄下進行編譯

⑦ 編譯android源代碼的目的是什麼,編譯後會得到什麼東西

定製嘛,就是按你自己的要求設定方案,因為android是開源的,而且google提供了很完備的開發框架,有java基礎的人可以很快上手。
源碼定製估計是現在的android的市場一個發展方向,因為以前都是山寨機,軟體硬體一個樣,而現在智能機在硬體方面基本是差不多的,而android軟體框架也是一樣,但是開發比較簡單,門檻很低,所以一些公司提供了定製服務,改動下源碼提供個性化服務。個人理解,你可以繼續網路了解下。
至於你想學開發android,先看下java,應用層是用java開發的,而且你以後也可以自己開發些小應用鬧著玩。參考書方面很多,什麼android應用開發揭秘啊,adk開發範例大全啊,精通android啊什麼的,可以在網上找電子檔或者別人的教學視頻,很多的。

⑧ android源碼編譯後如何製作成rom

SDK是開發包,不是完整源代碼吧。你可能需要在Linux上repo完整4.3源代碼(25G左右,精簡後8個多G)。如果手機內核不是3.0以上可能還要重新編譯更新內核(Android4.3貌似一定要3.0以上內核版本)。其實我也不知道如何製作Rom,但略懂下載編譯Android源代碼和內核源代碼,也想知道如何從源代碼製作rom,希望能與樓主交流!

⑨ 為什麼android源碼還需要編譯

android源碼中有著許多的源代碼,其中有c和c++編寫的也有java編寫,這些代碼需要通過重新編譯後才能在android機器上運行的!當然你修改源碼,改完源碼後還是需要對源碼進行編譯的編譯的!android系統源碼的整體編譯需要很長時間,所以一般否是分開來編譯的!這樣縮短了編譯的等待時間,而且也實現了不同人對不同板塊代碼的修改和編譯的分工了!

⑩ 自己可以編譯安卓源碼嗎

用最新的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內核問題,解決方法如下:
執行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通過使用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源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    熱點內容
    玩戰地5配置不行怎麼辦 發布:2024-03-29 22:10:28 瀏覽:981
    javaice 發布:2024-03-29 21:56:37 瀏覽:355
    編譯圖書 發布:2024-03-29 21:56:36 瀏覽:332
    linux全選vi 發布:2024-03-29 21:55:11 瀏覽:774
    艾譜保險箱初始密碼一般是什麼 發布:2024-03-29 21:48:11 瀏覽:825
    商家粉腳本 發布:2024-03-29 21:34:57 瀏覽:151
    我的世界ec伺服器怎麼獲得 發布:2024-03-29 21:21:44 瀏覽:709
    小米4設置限制的訪問 發布:2024-03-29 21:21:10 瀏覽:406
    linux向伺服器上傳文件 發布:2024-03-29 21:17:20 瀏覽:929
    腳本健康cpu佔用率報警 發布:2024-03-29 21:16:42 瀏覽:255