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

安卓編譯知乎

發布時間: 2023-03-20 14:40:47

㈠ 自己可以編譯安卓源碼

用最新的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在Ubuntu下編譯完整aosp需要多少硬碟空間

    6.0以後的AOSP我沒編譯過,不太了解需要多大空間。
    不過5.1.1我倒是編過,你可以參考一下:mac編譯aosp的配置需求? - 知乎用戶的回答
    編譯完了,大概佔用了60G,6.0可能會更大一些。
    像你列舉的250G等容量的硬碟,用來編AOSP,容量上是綽綽有餘的。其實如果經濟上允許,推薦你選擇一個SSD,對於編譯速度的提升,效果顯著。

    ㈢ 安卓編程,怎麼實現類似知乎左側抽屜菜單的

    這個交互是由兩個View組成,左側導航的View在下面,顯示內容列表的View在上面,內容列表的View覆蓋住了導航View,拖動內容列表的View向右,這時候導航View就顯示出來了。實現步驟:1、自定義一個View,它做為顯示內容的View。給這個View添加兩個手勢,pan拖拽,tap點擊;2、當拖拽這個View時,讓view.center向右移動,這樣就能看到內容View向右移動了;3、定義一個抽屜打開停止時的x值為:OPENCENTERX,這個是內容View最終停止的位置4、當內容View越過中間靠右的一個x值時,view自動向右動畫移動到右邊位置停下;5、當內容View在打開的狀態下,點擊內容View,利用UIView動畫把內容View.center移動回到中間;6、設置內容View的陰影效果。

    ㈣ android開發用什麼ide 知乎

    推薦android studio,這是官方自己的開發工具
    如果是去公司的話,要看公司項目用什麼,雖然稍有不同,不過學習的話還是建議andorid studio

    ㈤ android ios php 哪個好 知乎

    php和ios還有安卓在同級別的情況下,ios的工資目前來看是稍微高點點,ios需要了解學下c語言,安卓則需要學java,你說看了ios覺得很難,那也不建議看安卓,建議你學php,容易上手快,去培訓做幾個項目基本就可以了,快速找份工作沒問題,剛開始工資六七千應該問題(就深圳而言)不大隻要學得還可以,JavaScript要精通學好可不容易,學php得時候必學JavaScript。至於前端,你學這三種語言都會學前端,語言是相通的,如果你學了php再去學ios和安卓應該會好些,程序猿不應該只懂一種語言這樣在未來不保險。不建議題主邊上班自學,這樣效果不怎麼好,你沒有任何經驗,一個人搗鼓說實話累,編程最好能找幾個人一起做,至少出現bug的時候實在弄不好的時候有人能詢問,有時候改bug真的很費時間,說多了都是淚.............
    有人說數學和英語不重要這句話真的是超級坑爹,如果題主培訓完了找份工作求溫飽確實是沒問題,但隨著時間的推移如果需要往上走,那一定會用到數學,很多編程的思維方式數學中都有提到過,英語可以不一定要好,但題主要往上爬就需要數學了,如果題主高中大學數學都好那學起來會輕松許多,當然英文好的話那知識面可以更廣........,像匯編和c還有編譯原理,數據結構等等,這些雜七雜八的都要涉獵,這是往高手之路需要學習的,你可以看看大學計算機軟體課程的課表。

    ㈥ 如何給安卓應用編譯

    把常用的應用程序編譯到img文件中,就成了系統的一部分,用戶不必自己安裝,當然也卸載不了;
    同時也可以刪減系統自帶的應用程序,精簡系統;

    1.\build\target\proct 目錄下generic.mk文件:
    Java代碼 收藏代碼
    PRODUCT_PACKAGES := \
    AccountAndSyncSettings \
    DeskClock \
    AlarmProvider \
    Bluetooth \
    Calculator \
    Calendar \
    Camera \
    testMid \
    CertInstaller \
    DrmProvider \
    Email \
    Gallery3D \
    LatinIME \
    Launcher2 \
    Mms \
    Music \

    我們添加一個testMid \ 應用名稱。
    2.把testMid包放入
    \packages\apps 目錄下,修改android.mk文件。

    Java代碼 收藏代碼
    LOCAL_PATH:= $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE_TAGS := optional
    LOCAL_SRC_FILES := $(call all-subdir-java-files)
    LOCAL_PACKAGE_NAME := testMid
    LOCAL_CERTIFICATE := platform

    include $(BUILD_PACKAGE)

    註:LOCAL_PACKAGE_NAME := testMid (包名必須和generic.mk中添加的相同)
    編譯源碼,可以看到在
    \out\target\proct\smdkv210\system\app
    目錄下生存了testMid.apk了。這時system.img也包含了此應用。
    -------------------------------------------------------------------
    特殊情況:有時,應用需要包含jar包,這時的app導入源碼時會出現問題:
    MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop

    由於 LOCAL_STATIC_JAVA_LIBRARIES := libarity 會引發錯誤信息。
    目前解決方法是:
    \build\core 目錄下修改base_rules.mk
    注釋掉錯誤信息:

    ifdef $(mole_id)
    #$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
    endif
    $(mole_id) := $(LOCAL_PATH)

    --重新編譯,這時可以通過了。

    (2)、刪除原廠(Telchips)帶源碼的應用程序,如DTV_DVBT
    在/device/telechips/m801/device.mk
    注釋掉相應語句:
    # PRODUCT_PACKAGES += \
    # SampleDVBTPlayer \
    同時,在/out/target/proct/m801/system/app 找到相應的.APK包,並刪除

    ㈦ 如何用python開發安卓應用 知乎

    可以看一下 SL4A,一個基於Android的腳本平台,支持Python。但復雜應用,用腳本開發會很有難度

    ㈧ 什麼是android開發 知乎

    Android 是一種基於 Linux® V2.6 內核的綜合操作環境。最初,Android 的部署目標是行動電話領域,包括智能電話和更廉價的翻蓋手機。但是, Android 全面的計算服務和豐富的功能支持完全有能力擴展到行動電話市場以外。Android 也可以用於其他的平台和應用程序。
    黑莓和 iPhone 都提供了受歡迎的、高容量的移動平台,但是卻分別針對兩個不同的消費群體。黑莓是企業業務用戶的不二選擇。但是,作為一種消費設備,它在易用性和 「新奇特性」 方面難以和 iPhone 抗衡。Android 則是一個年輕的、有待開發的平台,它有潛力同時涵蓋行動電話的兩個不同消費群體,甚至可能縮小工作和娛樂之間的差別
    如今,很多基於網路或有網路支持的設備都運行某種 Linux 內核。這是一種可靠的平台:可經濟有效地進行部署和提供支持,並且可直接作為面向部署的良好的設計方法。這些設備的 UI 通常是基於 HTML 的,可通過 PC 或 Mac 瀏覽器查看。但並不是每個設備都需要通過一個常規的計算設備來控制。

    Android 簡史
    Android 平台是 Open Handset Alliance 的成果,Open Handset Alliance 組織由一群共同致力於構建更好的行動電話的公司組成。這個組織由 Google 領導,包括移動運營商、手持設備製造商、零部件製造商、軟體解決方案和平台提供商以及市場營銷公司。從軟體開發的觀點看,Android 正處在開源領域的中心位置。
    市場上第一款支持 Android 的手機是由 HTC 製造並由 T-Mobile 供應的 G1。這款設備從設想到推出花了大約一年的時間,惟一可用的軟體開發工具是一些實行增量改進的 SDK 發行版。隨著 G1 發行日的臨近,Android 團隊發布了 SDK V1.0,用於這個新平台的應用程序也浮出水面。
    為了鼓勵創新,Google 舉辦了兩屆 「Android Developer Challenges」,為優勝的參賽作品提供數百萬美金的獎勵。G1 問世幾個月之後,隨後就發布了 Android Market,它使用戶可以瀏覽應用程序,並且可以將應用程序直接下載到他們的手機上。經過大約 18 個月,一個新的移動平台進入公眾領域。

    熱點內容
    app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
    php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
    不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
    c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
    動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
    wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
    三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
    暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
    access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
    五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366