導航:首頁 > 源碼編譯 > 如何編譯安卓源碼

如何編譯安卓源碼

發布時間:2022-01-16 18:57:39

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

1.make 模塊名稱
需要查看Android.mk文件的LOCAL_PACKAGE_NAME變數。
2.mmm命令
用於在源碼根目錄編譯指定模塊,參數為模塊的相對路徑。只能在第一次編譯後使用。比如要編譯Phone部分源碼,需要在終端中執行以下命令:
$mmm packages/apps/phone
3.mm命令
用於在模塊根目錄編譯這個模塊。只能在第一次編譯後使用。例如要編譯Phone部分源碼,需要在終端中執行以下命令:
$cd packages/apps/phone
$mm
註:mmm和mm命令必須在執行「.build/envsetup.sh」之後才能使用,並且只編譯發生變化的文件。如果要編譯模塊的所有文件,需要-B選項,例如mm -B。

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

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

③ 如何將源代碼編譯後的文件編譯到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

linux下如何編譯Android源碼~~~

使用的是putty.exe軟體本身機器windows環境連接伺服器的linux環境編譯androidputty.exe界面在上面有提到了輸入你的賬號密碼後會進入這樣的效果就算是成功了可以ls就是當前目錄下的文件/文件夾_job就是我的文件夾接下來我們就要進入到源碼所在的目錄cd 你的android源文件的目錄比較笨的方法就是cd _joblscd _........就是一層一層的往下走好的辦法就是cd job/按Tab鍵 會自動填寫目錄名(如果有多個文件夾他會給你列出來)如果順利的來到源文件目錄下在編譯前我們需要預編譯一下(可能在源碼裡面還有沒有解包的需要完全解包)下面的所有的命令前面必須要加 sudo-->超級用戶模式還有就是下面的命令都是要在根目錄下進行編譯編譯前預處理(make prebuild)執行完成後就可以進行編譯了編譯Android代碼(make)-->要等最少1-3個小時吧等編譯完成後就可以使用Eclipse修改你的源碼了編譯後處理(make firmware)su make firmware注意:編譯時必須要在根目錄下進行

⑤ 自己編譯安卓源碼怎麼實現root

建議按如下步驟操作:
1、使用USB數據線將手機與電腦連接。
2、 在電腦上,打開360安全衛士,找到360手機助手,點擊「立即連接」。
3、下載並安裝手機版360手機助手。
4、選擇『我的手機』,點擊『管理你的手機預裝軟體』,就可以准確的查看到自己的手機有多少個自帶軟體。可以點擊右上角的「一鍵root」,也可以卸載如何一個軟體,系統會自動提醒你「root」的,點擊確定。
5、獲取ROOT許可權的時間有點長,大概需要5-10分鍾,具體和手機的內存及軟體有關。
6、當屏幕顯示「恭喜您,已經成功獲取root許可權!」字樣,就說明完工了,再點擊「完成」就可以了。
7、現在手機已經成功獲取root許可權,可以點擊『我的手機』,再點擊「管理預裝軟體「進行卸載了。值得注意的是,並不是所有的軟體都可以刪,有些如日歷、計算機、天氣等必備軟體刪除了,手機可能就要刷機了,ROOT是回不去的,要慎重選擇要刪除的軟體。

⑥ windows下如何編譯android源碼

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

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

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

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

⑦ 如何定製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: 工程模式,用於平台級的調試,是默認的編譯類型。

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

用最新的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源碼目錄下的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中

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

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

    閱讀全文

    與如何編譯安卓源碼相關的資料

    熱點內容
    極簡歐洲史中文版pdf 瀏覽:908
    python顯示變數值 瀏覽:387
    副路由器為什麼要關伺服器 瀏覽:575
    國家反詐騙app蘋果怎麼設置 瀏覽:464
    我的世界如何用指令造伺服器方熊 瀏覽:304
    鴨題庫是哪裡的培訓機構app 瀏覽:689
    如何對伺服器取證 瀏覽:440
    有什麼系統像友價源碼 瀏覽:570
    圓柱彈簧壓縮量 瀏覽:811
    我的世界國際版為什麼沒法進去伺服器 瀏覽:103
    我的世界如何創造一個伺服器地址 瀏覽:837
    皮皮蝦app怎麼玩視頻教程 瀏覽:253
    python整型轉化字元串 瀏覽:804
    android數據共享方式 瀏覽:375
    編譯環境控制台 瀏覽:620
    寧波欣達壓縮機空氣過濾器價位 瀏覽:665
    冪函數的運演算法則總結 瀏覽:138
    方舟自己的伺服器怎麼搞藍圖 瀏覽:915
    校園網怎麼加密ip 瀏覽:786
    kotlin可以編譯雙端嗎 瀏覽:327