導航:首頁 > 源碼編譯 > 至強編譯安卓源碼

至強編譯安卓源碼

發布時間:2022-10-05 18:32:39

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文件系統呢?

Ⅲ 如何單獨編譯安卓系統源碼指定模塊

例如:你不想編譯music進image中,你就在該文件里PRODUCT_PACKAGES:=這一項下的Music刪除就可以了同理,你想把自己的app編譯進image中,你先寫好編譯用的Android.mk文件,然後去到上面所說的文件里在PRODUCT_PACKAGES:=這一項添加對應的app包名一般來說,只要改這么一個文件就足夠了。但是如果以上編譯後發現還是編譯到了image裡面,那麼它很有可能是一個已經編譯好的apk文件預裝到image裡面去了,也是以我的sdk為例,進入device/產品目錄/common/apk下看看有沒有.apk文件,我的sdk裡面這個目錄下的.apk文件是全部預裝到system/app裡面的還有一個目錄:/device/產品目錄/common/preinstallapk這個目錄里的apk也是預裝到image裡面去,只是並不是預裝到system/app而已也就是說,你還要看看你不想編譯進image里的app是不是預裝進去,如果是預裝進去的話,只要在對應目錄下把該apk文件刪除了就好了希望這些能幫到你!

Ⅳ 編譯安卓源碼,需要工作站級別的電腦嗎比如至強e5平台12核24線程或雙路24核48線程。

編譯又不是渲染,又不吃配置。這么高端的電腦有毛用。

Ⅳ 嵌入式開發者組裝機配置推薦,預算5000元,cpu選的是至強e3-1230 v3

做程序開發的話,CPU一定要選擇好一些的,盡可能多線程的,內存容量也是越大越好,否則帶不動虛擬機,顯卡倒是無所謂了,哪怕是GTX650 也可以很好地用於你的使用要求了。

主板:微星 B85-G41 PC Mate,B85晶元組,大板,4條DDR3插槽,2條顯卡插槽,¥549
CPU:E3-1230 v3 ,最新Haswell架構,四核八線程 ,主頻3.4GHz,緩存8M,¥1350散片
CPU散熱器:超頻三 黃海豪華版,純銅散熱,¥80
顯卡:映眾 GTX650游戲戰神版,顯存1G,【GTX650版本】,¥699
內存:宇瞻 / 威剛 8G,DDR3-1600 4G×2條,¥440
機械硬碟:希捷 2TB ST2000DM001 7200轉 緩存64M,¥539
電源:安鈦克 VP 550P V2,額定550W,最大650W,雙12V供電(320W+320W),¥359
機箱:至睿 巫師A20 機箱,標配2×12cm前置/置頂散熱風扇,¥149
顯示器:宏碁 P239HL Abd,23英寸屏幕,IPS硬屏面板,亮度250cd/㎡,最佳解析度1920×1080,¥839

全部加起來的裝機報價: ¥5004 元左右。

Ⅵ 如何定製android源碼的編譯選項

現僅就工作遇到的問題做個總結。所用硬體平台為amlogic stvm3。---------------------------------------------------------------------------關於版本號:文件build/core/version_defaults.mk用來檢查一些跟版本相關的變數是否定義;如果未定義,則使用默認值。這些變數包括 PLATFORM_VERSION # 如 2.2.5 PLATFORM_SDK_VERSION # 8, 對應2.2.5 PLATFORM_VERSION_CODENAME # REL,即發行版 DEFAULT_APP_TARGET_SDK # 同SDK_VERSION或VERSION_CODENAME BUILD_ID # 默認為UNKNOWN BUILD_NUMBER # 默認eng.$(USER).$(shell date +%Y%m%d.%H%M%S)的形式。 version_defaults.mk首先包含進build_id.mk。用戶應當配置build_id.mk,而不應該改動version_defaults.mk文件。然後檢查上述變數,如未定義則賦值默認值。---------------------------------------------------------------------------關於調試功能(adb)的開啟編譯android源碼之前總是要先運行build/envsetup.sh,以初始化一些常用命令(實際上是bash的函數,如add_lunch_combo)。其中也從以下文件中引入了一些編譯設置: device/${CHIPSET_VENDOR}/vendorsetup.sh我們這里使用的CHIPSET_VENDOR為amlogic。比如我們有文件device/amlogic/vendorsetup.sh,內容為"產品名-編譯類型(flavor)"列表(稱為combo),如下: add_lunch_combo m1ref-eng add_lunch_combo m1ref-user add_lunch_combo m2ref-eng add_lunch_combo m2ref-user add_lunch_combo stvm3-eng add_lunch_combo stvm3-user其中,m1ref和stvm3是產品名(作前綴),後面為編譯類型。除此前綴外可選的combo值有: eng, user, userdebug, tests。(參考文件build/core/main.mk中對於變數TARGET_BUILD_VARIANT的篩查條件)我們可以修改vendorsetup.sh文件,來改變為特定設備編譯的結果。以下是各個編譯類型的特點: eng: 工程模式,用於平台級的調試,是默認的編譯類型。

Ⅶ 如何單獨編譯安卓系統源碼指定模塊

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中

Ⅷ windows下如何編譯android源碼

如果沒記錯,windows下是沒法編譯android框架源代碼的

因為android是基於linux平台的,因此底層的很多東西都是基於linux系統的

如果只是單純的android應用程序,則可以在windows下開發編譯

只需要用Eclipse的adt插件加上windows下開發的Android SDK就行了。

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

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

    Ⅹ 如何編譯android手機源碼

    編譯android系統源碼准備工作:
    下載android源碼
    在windows上用gitbash ,git clone 下載代碼
    在linux上這樣下載
    創建~/bin目錄,用來存放repo程序,如下:

    $ cd ~
    $ mkdir bin
    初始化repo
    repo是android對git的一個封裝,簡化了一些git的操作。
    創建工程目錄:
    $ mkdir android
    $ cd android
    下載repo腳本並使其可執行:
    $ curl http://android.git.kernel.org/repo >~/bin/repo
    $ chmod a+x ~/bin/repo
    repo初始化:
    $ repo init -u git://android.git.kernel.org/platform/manifest.git
    在此過程中需要輸入名字和email地址。初始化成功後,會顯示:
    repo initialized in /android
    在~/android下會有一個.repo的隱藏目錄。
    5)同步源代碼
    $ repo sync
    這一步要很久很久。
    安裝linux系統,推薦ubuntu,圖形界面
    安裝編譯需要的支持包
    $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
    安裝java6.0
    $ sudo apt-get install sun-java6-jdk
    配置java環境
    sudo gedit ~/.bashrc

    末尾加上

    JAVA_HOME=/usr/lib/jvm/java-6-sun
    JRE_HOME=${JAVA_HOME}/jre
    export ANDROID_JAVA_HOME=$JAVA_HOME
    export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    export JAVA_HOME;
    export JRE_HOME;
    export CLASSPATH;
    HOME_BIN=~/bin/
    export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
    sudo source ~/.bashrc
    是環境變數生效

    編譯android源碼,並得到~/android/out目錄

    $ cd ~/andoird
    $ make
    這一過程很久。
    這就編譯結束了

    閱讀全文

    與至強編譯安卓源碼相關的資料

    熱點內容
    pdf綠盟 瀏覽:502
    固態硬碟編譯器重建 瀏覽:387
    怎樣編輯硬碟文件夾 瀏覽:657
    安卓系統如何打開電腦軟體 瀏覽:570
    android監聽事件處理 瀏覽:746
    h3c伺服器怎麼看功率 瀏覽:121
    前端錄制文件如何上傳伺服器 瀏覽:538
    雅黑pdf 瀏覽:460
    python使用領域 瀏覽:882
    買蘭博基尼用什麼app 瀏覽:139
    android關閉後台運行 瀏覽:507
    python輸出路徑為超鏈接 瀏覽:535
    caxa為什麼沒有加密鎖 瀏覽:794
    伺服器怎麼設置才能用IP訪問 瀏覽:665
    郵件附件加密後打開能顯示嗎 瀏覽:726
    榮耀x10拍照演算法 瀏覽:571
    androidgradle配置簽名 瀏覽:98
    文件夾左邊的空心三角符號是什麼 瀏覽:290
    app英語音頻試卷掃碼怎麼聽 瀏覽:615
    字元串編譯預處理 瀏覽:706