當前位置:首頁 » 操作系統 » 安卓源碼么

安卓源碼么

發布時間: 2022-09-03 08:00:07

㈠ 自己可以編譯安卓源碼

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

    ㈡ 在安卓手機上網頁源碼如何用

    操作方法如下:

    1、首先打開手機,找到並點擊進入設置,如下圖所示。

    ㈢ 安卓源碼沒有app文件怎麼運行

    在Eclipse開發環境中,選擇Filemport
    選中所要導入的文件。選中導入的項目,右鍵選擇Properties。選擇「Android」選項,勾選TargName,然後單擊OKTagName要與當前模擬器的版本匹配。在導入的項目按滑鼠右鍵,單擊下載的源碼就可以運行。

    ㈣ 編譯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界面的系統status bar上添加home,back,menu三個菜單,並完成對應的系統功能。並有higlight效果,修改status bar 高度和status bar上的文字尺寸。

    這需要修改android sdk才能完成,我用的是eclair.下面就我的操作進行敘述。

    1.首先完成界面顯示效果。

    需要修改文件

    ./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定義的icon,圖片名稱指定就好了。另外還要記得修改./frameworks/base/core/res/res/values/arrays.xml,這里定義了icon的slot,並且決定了icon的擺放順序。

    這樣,你需要的icon按鍵就可以顯示在系統的status bar上面了。

    2.判斷touch event是否按動了某個icon

    需要修改的文件

    ./frameworks/base/services/java/com/android/server/status/StatusBarView.java

    首先在onTouchEvent函數中,獲取當前event的坐標,然後比較是否在某個按鍵范圍之內。由於系統對於statusBar的范圍已經有了定義,所以這里只需要比較橫坐標就可以了。

    其次,也是這一步最關鍵的,怎麼獲取具體某一個icon的左右邊界坐標呢?系統的status bar左邊顯示的圖標都是notification, 右邊顯示的是系統icon. 也就是說左邊icon屬於mNotificationIcons,右邊的icon屬於mStatusIcons. 在文件StatusBarView.java中出現的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左邊的icon的left橫坐標。用N = mStatusIcons.getChildCount()得到共有幾個系統icon,其中包含visibility為false的icons.用mStatusIcons.getChildAt(N-i)得到的是從右邊數第i個的icon view. 這個view的getLeft()+offset就是這第i個icon的左邊橫坐標,對應的getRight()+offset就是這第i個icon的右邊橫坐標。本例中home鍵是右邊第2個icon.

    3.定義icon響應事件

    這里使用的方法是在StatusBarView.java中向

    ./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java發送一個Broadcast,讓StatusBarPolicy來完成具體的事件操作。這里需要注意的是不僅要在./frameworks/base/core/java/android/content/Intent.java中定義intent,還要在StatusBarPolicy的構造函數中添加該intent的過濾動作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按動了back鍵,如果當前事件為action_up,就向系統發送一個keyEvent,keyCode為KeyEvent.KEYCODE_BACK. 這里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函數,直接拷貝過來,按照需要稍微修改一下形參就可以了,過程不要修改。

    需要說明的是,當點擊statusBar可以拉出來一個notification列表,當這個列表顯示出來的時候,這三個back, menu, home鍵的響應速度會非常慢,所以這時不響應事件並隱藏這三個鍵。具體做法是在StatusBarView的onTouchEvent()中判斷mService.mExpanded或者 mService.mTracking為真時就不做響應。mService是StatusBarService對象。隱藏三個鍵也是用Broadcast來做的,但這個intent是由StatusBarServie發出來的,當mExpandedVisible = false時顯示,當mExpandedVisible = true時隱藏。

    這里還同時完成了highlight換圖的動作,也是用Broadcast來做得,處理過程一樣,就是需要區分action_down和action_up就可以了。

    4.調整status bar的高度

    如果你需要顯示較大的屏幕尺寸,同時statusBar的高度要拉大,上面的icon的size也需要調大。為了協調一致,顯示時間的字體和notification顯示的日期的字體也需要調大。具體做法如下:

    a.調節status bar icon的size: 只調節status_bar.xml的textSize標簽似乎不起作用,同時又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);語句才成功。不知道修改status_bar.xml的<com.android.server.status.AnimatedImageView>標簽下的layout_height值是不是必須的,反正我是一起都給改了。

    b.調節status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道還需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也給改了。

    c.調節notification顯示日期字體的大小,修改status_bar.xml的<com.android.server.status.DateView>的textSize值。

    到這里,就完成了所有工作,看看效果吧。

    ㈥ 怎麼查看安卓APP的源碼

    如果只有apk的安裝包的話,你是看不到源碼的,除非使用反編譯。作為新手,還是從基礎一步一步來吧。

    ㈦ android系統源碼有多少行

    大概有10G的源代碼,一Byte一個字元,也就是說有超過100億個字元,每行按標准80字元來算的話,超過1億行。開放的WinXP系統有2億行,從數量級上來看的話,應該差不多。Android 4.4,是由Google公司製作和研發的代號為KitKat的手機操作系統,於北京時間2013年9月4日凌晨對外公布了該Android新版本的名稱,為Android 4.4(代號 KitKat 奇巧)。據悉,該代號來自雀巢的KitKat巧克力。"Kit Kat"原本是雀巢公司的一款巧克力名稱。谷歌表示,他們非常感謝雀巢授權使用該名稱,但使用的時候會將中間的空格去掉。Android 4.4 KitKat針對RAM佔用進行了優化,甚至可以在一些僅有512MB RAM的老款手機上流暢運行。它也進一步優化了系統在低配硬體上的運行效果, 支持內核同頁合並 KSM,zRAM 交換,似乎是為了更好地在眾多智能穿戴設備上運行。
    是指sdk的源碼,還是android操作系統的源碼,不過都有10G左右,另外sdk的源碼是用git管理的,一次下載後,用git check就可以切換到各個版本。Android SDK是用於開發Android上JAVA應用程序的,另外發布Android NDK,可以添加一些C語言寫的鏈接庫,至於Linux代碼,可以在Android源代碼中找到(SDK程序中只有編譯好的測試映像)。應用程序開發用不到Linux代碼(搞嵌入式開發才會用到,而SDK不負責底層開發)。

    ㈧ 如何編輯android 系統源碼

    1、通過 ubuntu 軟體中心安裝 wine;
    2、通過 ubuntu 軟體中心安裝 winetricks;
    3、通過 winetricks 在 shell中輸入: winetricks mfc42

    1、通過 wine windows 的方式啟動代理伺服器
    2、設置瀏覽器代理伺服器
    3、設置shell代理伺服器:
    在shell中輸入 sudo gedit /etc/bash.bashrc
    在文件 /etc/bash.bashrc 中添加

    通過shell安裝如下的組件:
    1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
    2、新建一個存放源碼的目錄,如:mkdir ~/andorid/source
    3、在源碼目錄中輸入命令:repo init -u -b android-4.0.1_r1
    其中: android-4.0.1_r1是android源碼的版本,更多的版本可以通過下面的方式查詢:

    4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值為:
    git://Android.git.linaro.org/

    通過如下的指令來設置郵箱和用戶名
    git config --global user.name "<your name>" ----修改用戶名git config --global user.email "<your email>" ----修改email
    5、在source目錄下輸入指令:repo sync
    便開始了代碼的下載
    方便他人亦是方便自己,如果覺得還行就點下下邊的投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!

    ㈨ 如何獲取android源代碼

    當前的Android代碼託管在兩個方:https://github.com/android 和https://android.googlesource.com之前在 android.git.kernel.org上也有託管,不過現在重定向到了https://android.googlesource.com好在都支持git訪問

    google提供的repo工具實際上是一個內部操作git工具來簡化操作Android源碼的Python腳本。經過嘗試,直接使用git工具在ubuntu下可以實現cloneAndroid源碼。下面介紹一下方法:

    1.獲取當前的在github上託管的Androidgitrepositories:

    github頁面為:https://github.com/android/following。不過這個頁面不支持通過wget"https://github.com/android/following"或者curl"https://github.com/android/following"的方式訪問,錯誤信息如下:

    這個時候需能做的只能是"tryagain"了。

    需要說明的是"不要試圖同時並發執行多個gitclone命令",這樣會導致大量出現上面貼圖中的錯誤,另外,整個clone過程中耗時最多的gitrepository如下:

    kernel_common.gitkernel_msm.gitplatform_frameworks_base.gitplatform_prebuilt.git其中platform_prebuilt.git是google提供的預編譯好的二進制文件,包含:各種庫文件,jar包,可執行程序等等,如果只是閱讀Android源代碼,這個gitrepository可以不用clone.

    ㈩ APP的源代碼是什麼意思(安卓的)

    開源(Open Source,開放源碼)被非盈利軟體組織(美國的Open Source Initiative協會)注冊為認證標記,並對其進行了正式的定義,用於描述那些源碼可以被公眾使用的軟體,並且此軟體的使用、修改和發行也不受許可證的限制。

    安卓的開源就是開放源代碼,安卓2.x的內核是Linux2.6.方便軟體商開發,多數軟體可以免費,手機商不用買系統版權,降低成本和零售價.這些都是對用戶直接或間接的好處.

    熱點內容
    python實用代碼 發布:2025-05-13 22:19:41 瀏覽:841
    dede資料庫的配置文件 發布:2025-05-13 22:19:08 瀏覽:966
    給字元加密 發布:2025-05-13 22:12:32 瀏覽:972
    資料庫系統實現答案 發布:2025-05-13 22:11:57 瀏覽:140
    哪個軟體可以共存安卓 發布:2025-05-13 22:10:15 瀏覽:552
    上傳宦妃天下野泉肉肉 發布:2025-05-13 22:10:10 瀏覽:408
    洗眼睛解壓 發布:2025-05-13 21:58:28 瀏覽:272
    c存儲指針 發布:2025-05-13 21:49:04 瀏覽:921
    結繩編程軟體 發布:2025-05-13 21:49:03 瀏覽:850
    解壓體育館 發布:2025-05-13 21:27:48 瀏覽:263