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

安卓程序源碼

發布時間: 2022-06-19 13:22:12

『壹』 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不負責底層開發)。

『貳』 如何查看安卓apk程序的源代碼

將apk文件拷貝至sdcard上。
命令順序如下:

進入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk文件拷貝出來了。
將apk文件後綴直接變成rar格式,可以看到熟悉的目錄結構了,

其中xml文件打開後都是二進制的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行網路搜索)
輸入以下命令,將xml文件解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前進行到這一步,只能看到xml文件的內容,其工程中的java源文件還是看不到,看目錄結構下有一個classes.dex文件,我們需要將dex文件變為jar文件。
這里用到了另一個工具dex2jar。(自行搜索下載)
在Windows下解壓之後的目錄如下圖所示:

在命令行中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:\classes.dex
運行完之後,在C盤會多一個classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請自行搜索下載)
它分為Windows、Linux、和max三個版本,這里我下載的是Windows版本的。
解壓之後,雙擊運行exe文件,選擇classes.dex.dex2jar.jar文件,相應的jar文件中的Java文件就被反向工程顯示出來了!

『叄』 自己可以編譯安卓源碼嗎

用最新的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 選擇project Build Targat 確定 選擇模擬器就可以運行了

    『伍』 怎麼查看安卓的源代碼或者安卓應用軟體的源代碼

    Android代碼就是java代碼,如果你只需要看代碼不需要運行的話,在src目錄的子目錄下面找到*.java文件,然後用記事本打開即可,資源文件在res目錄下.如果是要運行Andorid代碼的話,就需要下載Eclipse以及Android的SDK和ADT插件了.

    『陸』 安卓APP反編譯後的程序源代碼在哪裡

    assets是html文件,lib是jar,res是資源文件。AndroidManifest是配置文件,源碼在smali和original裡面

    『柒』 怎樣把兩個安卓源碼合並成一個

    首先要理解,源碼是什麼。
    然後是所謂的源碼合並,就是將編寫的功能代碼的作用編寫在一起。
    後面就是解決問題了:
    針對易語言的源碼來說,可以將二個源碼分別的編寫了EC模塊模塊。然後是在新的程序里,添加這二個模塊。就跟調用命令一樣的調用了,注意編譯為模塊里。源碼里的子程序應該是要公開的,不然不能進行調用。

    『捌』 怎麼調試安卓framework的源碼

    一、修改Android Studio(以下簡稱AS)的內存配置
    因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m, 可自行修改。
    二、配置AS的JDK、SDK
    在IDE中添加一個沒有classpath的JDK, 這樣可以確保使用源碼里的庫文件

    並將其作為要使用的SDK的Java SDK。如下圖

    三、生成導入AS所需配置文件(*.ipr)
    ①編譯源碼(為了確保生成了.java文件,如R.java;如果編譯過,則無需再次編譯)
    ②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
    如果idegen.jar不存在,執行:
    mmm development/tools/idegen/

    在5.0.1的源碼中會生成res.java的文件夾,導致idegen.jar運行時拋FileNotFoundException,這是idegen的代碼不夠嚴謹造成的。
    我的分享里有修改這個bug的patch,或者直接使用我分享的idegen.jar。
    ③執行
    development/tools/idegen/idegen.sh

    等待出現類似下面的結果:
    Read excludes: 5ms
    Traversed tree: 44078ms

    這時會在源碼的根目錄下生成android.ipr和android.iml兩個IntelliJ IDEA(AS是基於IntelliJ IDEA社區版開發的)的配置文件
    Tips:
    AS在導入代碼時比較慢,建議先修改android.iml,將自己用不到的代碼exclude出去.可以仿照過濾.repo文件夾的語法,如:
    <excludeFolder url="file://$MODULE_DIR$/.repo" />
    <excludeFolder url="file://$MODULE_DIR$/abi" />
    <excludeFolder url="file://$MODULE_DIR$/art" />
    刪除掉所有不需要的mole-library項 PS:感謝 @dezng 的建議
    這樣在導入時就會跳過abi和art文件夾.過濾的越多,AS的處理速度就會越快.
    ④在AS中打開源碼根目錄下新生成的android.ipr

    四、解決源碼中跳轉錯誤問題
    ①為當前工程設置正確的SDK和JDK

    ②設置'Moles'的依賴

    先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
    如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
    點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars or directories'選項,依次將frameworks和external文件夾添加進來.如:

    其它版本的代碼在添加frameworks時可能會顯示成:

    沒有關系,只是顯示問題,點擊OK還是會把frameworks路徑添加進去的.
    如果還有代碼跳轉錯誤,請仿照上面的步驟將相應代碼的路徑或jar文件添加到其Dependencies標簽頁中即可.
    五、DEBUG源碼
    我們可以通過給剛導入的工程在'Moles'中添加'Android Framework'來讓AS將它作為一個Android工程,從而方便我們調試代碼.

    可以按照上圖中'1'和'2'來添加Android Framework支持.
    在代碼中加斷點,然後選擇'Run'->'Attach debugger to Android process'或者直接點擊下圖所示的圖標
    在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
    六、其它
    代碼中很多地方提示Call requires API Level x.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
    我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
    也可以考慮使用build.gradle來解決該問題

    『玖』 怎樣在安卓設備上查看軟體源代碼

    安卓設備是無法查看軟體源代碼的。每一個在手機安裝的app,都是經過嚴格的加密和數字簽名發布的應用程序,想要看到源代碼必須破解加密,不過這幾乎不可能。
    一些簡單的應用程序還是可以反編譯工具,查看到源代碼的。

    『拾』 在網上找了一個安卓軟體源碼,怎樣導入android studio

    一開始都會感覺到疑惑,網路上,論壇上,甚至是書本上都講不清楚,不知道這是什麼原因,我想人類的私心在裡面會占據很大的因素。 不是每個人都願意分享自己辛苦得來的經驗和心得。 android軟體,你可以這么看,它是用java語言+很多很多的現成的已經被別人寫到的包組合成的。 其實它的本質就是java,然後那些界面什麼,其實核心就是一個叫做XML的東西。 這個XML其實也沒什麼神秘,就是一個國際化的,標準的標簽。 然後標簽其實說白了就是記號,你在這個XML文件裡面,按照谷歌給你定好的游戲規則,寫標簽,然後這個標簽會被自動解析成相應功能。 整個android界面其實就是一個XML文件,android表面上的東西幾乎都是XML文件組成的,剩下的核心程序邏輯,其實就是java程序。 再換句話說,你可以在java上把程序邏輯寫好,然後單獨寫個XML文件,然後合並起來,就是android

    熱點內容
    dos強制刪除文件夾 發布:2024-11-07 16:41:05 瀏覽:294
    java協程框架 發布:2024-11-07 16:30:55 瀏覽:380
    預測擬合演算法 發布:2024-11-07 16:30:45 瀏覽:663
    橙光原始密碼是多少 發布:2024-11-07 16:24:33 瀏覽:34
    安卓電話密碼是什麼 發布:2024-11-07 16:14:44 瀏覽:317
    戰網客戶端文件夾 發布:2024-11-07 16:02:42 瀏覽:123
    我的世界伺服器轉賬點券的指令 發布:2024-11-07 15:57:34 瀏覽:268
    馬桶解壓 發布:2024-11-07 15:57:32 瀏覽:890
    手機游戲蘋果和安卓哪個好 發布:2024-11-07 15:55:36 瀏覽:701
    python數據處理pdf 發布:2024-11-07 15:55:33 瀏覽:697