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

編譯安卓

發布時間: 2022-01-30 13:57:56

A. windows下如何編譯android源碼

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

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

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

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

B. 自己可以編譯安卓源碼嗎

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

    C. 如何編譯android sdk

    如果沒有真正開發板,又想深入到android
    framework里,或kernel里的話,就只能用android
    的emulator了。
    但是我們下載的android
    SDK沒有源代碼,我們沒辦法跟蹤修改framework和kernel里的東西。
    所以有了想嘗試自己從頭生成SDK的想法。
    1.
    首先下載編譯android所有source
    code.
    具體步驟這里不再贅述,參考ht
    tp:/
    /source.and
    roid.c
    om/download
    cd
    mydroid
    repo
    init
    -u
    git://android.git.kernel.org/platform/manifest.git
    repo
    sync
    一點小提示:
    有時候google的android伺服器老是斷,總不能讓我們守在電腦旁邊一直手工重新repo
    sync吧,這可是需要N個小時才能下載完的啊。
    我們就寫個小腳本讓電腦自動repo
    sync,直到下載成功為止:
    #!/bin/sh
    count=0
    ret=1
    while
    [
    $ret
    -ne
    0
    ]
    do
    repo
    sync
    ret=$?
    count=$((
    $count
    +
    1))
    echo
    "try
    $count,
    ret:
    $ret"
    done
    echo
    "try
    $count,
    ret:
    $ret"
    把上面的內容復制到一個文件里tryrepo.sh
    然後修改tryrepo.sh的屬性,開始自動工作吧。第二點早上應該就大功告成了
    chmod
    a+x
    tryrepo.sh
    ./tryrepo.sh
    2.
    編譯android,
    生成SDK
    make
    sdk
    漫長的等待之後,SDK生成了,在目錄:mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\
    在linux下面可以直接運行mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\tools\android
    就可以看到熟悉的android
    emulator啟動界面。
    如果想在windows
    XP下使用這個SDK和emulator,
    最簡單的方法是:
    (1)自己下載一個最新的windows版本的android
    2.0
    SDK。
    (2)把mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\下的東西復制到windows版SDK的platforms下。
    (3)
    然後把platforms下android-2.0下tools目錄下的幾個.exe文件復制到自己編譯的SDK目錄下的tools目錄下。

    D. 如何編譯一個精簡的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應用程序,修改其源碼後可以實現隨系統的啟動而自動啟動的功能。

    E. 請問怎麼編譯安卓軟體

    呵呵,你學過java吧,基本功就有了,安卓軟體是用java來寫的~不過我覺得安卓軟體是不用編譯的,因為裡面的主程序是格式化的xml文件,在軟體成形的過程中只是把一些文件打包起來就行了,你可以試下把安卓軟體的後綴名改成zip,就可以看見源程序和文件了~然後呢,你要想做安卓軟體的話,先搭建一個安卓的開發環境,用到的東西有Myeclipse這個軟體(你應該知道的),然後到網上下載安卓開發的SDK即開發字典~有一本叫安卓開發案例的書,可以看下,另外網上有很多的視頻教程~PS:我自己之前只寫過一個安卓的HELLO,WORLD!,由於大一事情比較多就沒有繼續研究了,如果你有問題可以CALL我哦,我們一起學~

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

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

    G. 如何將自己寫的程序 編譯成android 自帶的程序

    首先你也放到packages/apps下,不過要修改的不是makefile,是Android.mk文件。如果你的HelloWorld是從eclipse下面建立出來的,默認是沒有Android.mk文件的,要自己寫一個。

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

    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中

    I. 如何將apk源碼編譯進android系統

    1. 把源碼放到packages/apps目錄下

    2. 寫個mk文件,放到你的app的工程根目錄下

    3. 在源碼中mmm這個app的路徑

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

    熱點內容
    解壓喪屍片 發布:2024-04-27 01:02:28 瀏覽:369
    編程師加班 發布:2024-04-27 00:49:24 瀏覽:909
    lol四川伺服器雲空間 發布:2024-04-27 00:42:08 瀏覽:933
    卡宴怎麼看配置 發布:2024-04-27 00:41:08 瀏覽:941
    央視影音緩存視頻怎麼下載視頻 發布:2024-04-27 00:25:55 瀏覽:583
    手機緩存的視頻怎麼看 發布:2024-04-27 00:11:05 瀏覽:57
    shell腳本平方計算公式 發布:2024-04-26 23:29:26 瀏覽:187
    比較實惠的雲伺服器 發布:2024-04-26 23:24:57 瀏覽:974
    怎麼增加電腦緩存 發布:2024-04-26 23:23:46 瀏覽:451
    android調試gdb 發布:2024-04-26 23:22:27 瀏覽:99