導航:首頁 > 編程語言 > 安卓軟體開源代碼

安卓軟體開源代碼

發布時間:2024-04-27 11:15:36

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

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

    2. 怎樣查看 Android APP 源代碼

    用壓縮軟體打開apk文件,解壓出根目錄中的classes.dex文件

    使用cmd ,dex2jar.bat classes.dex命令將classes.dex轉換為jar

    再用jd-gui打開回該jar就可以答查看源碼了,如果apk安全性好的話,有些代碼是看不到的

    3. 有哪些 Android 的開源界面庫

    比較火爆的Android開源庫有以下:
    1、volley
    主要有以下模塊:

    (1) jsON,圖像等的非同步下載;
    (2) 網路請求的排序(scheling)
    (3) 網路請求的優先順序處理
    (4) 緩存
    (5) 多級別取消請求
    (6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網路請求)2、android-async-http
    主要有以下模塊:
    (1) 在匿名回調中處理請求結果
    (2) 在UI線程外進行

    (3) 文件斷點上傳
    (4) 智能重試
    (5) 默認gzip壓縮
    (6) 支持解析成Json格式
    (7) 可將Cookies持久化到SharedPreferences 3、Afinal框架
    主要有四大模塊:
    (1) 資料庫模塊:android中的
    ,使用了線程池對sqlite進行操作。
    (2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
    (3) 網路模塊:通過httpclient進行封裝http數據請求,支持ajax方式載入,支持下載、上傳文件功能。
    (4) 圖片緩存模塊:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。4、xUtils框架
    主要有四大模塊:
    (1) 資料庫模塊:android中的
    ,一行代碼就可以進行增刪改查;
    (2) 註解模塊:android中的ioc框架,完全註解方式就可以進行UI,資源和事件綁定;
    (3) 網路模塊:支持同步,非同步方式的請求;
    (4) 圖片緩存模塊:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;5、ThinkAndroid主要有以下模塊:(1) MVC模塊:實現視圖與模型的分離。
    (2) ioc模塊:android中的ioc模塊,完全註解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
    (3) 資料庫模塊:android中的
    ,使用了線程池對sqlite進行操作。
    (4) http模塊:通過httpclient進行封裝http數據請求,支持非同步及同步方式載入。
    (5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
    (6) 圖片緩存模塊:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
    (7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
    (8) 日誌列印模塊:可以較快的輕易的是實現日誌列印,支持日誌列印的擴展,目前支持對sdcard寫入本地列印、以及控制台列印
    (9) 下載器模塊:可以簡單的實現
    、後台下載、
    、對下載進行控制、如開始、暫停、刪除等等。
    (10) 網路狀態檢測模塊:當網路狀態改變時,對其進行檢6、LoonAndroid 主要有以下模塊:
    (1) 自動注入框架(只需要繼承框架內的application既可)
    (2) 圖片載入框架(多重緩存,自動回收,最大限度保證內存的安全性)
    (3) 網路請求模塊(繼承了基本上現在所有的

    (4) eventbus(集成一個開源的框架)
    (5) 驗證框架(集成開源框架)
    (6) json解析(支持解析成集合或者對象)
    (7) 資料庫(不知道是哪位寫的 忘記了)
    (8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
    (9) 自動更新模塊
    (10) 一系列工具類

    4. 怎樣查看 Android APP源代碼

    將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文件就被反向工程顯示出來了!

    閱讀全文

    與安卓軟體開源代碼相關的資料

    熱點內容
    什麼海外網站可以看限製片 瀏覽:596
    指尖見app在哪裡下載 瀏覽:367
    java聊天室課程設計 瀏覽:670
    responsejavascript 瀏覽:71
    如何從殺毒軟體裡面恢復出文件 瀏覽:972
    越獄iphone如何備份 瀏覽:124
    蘋果四S萬能鑰匙怎麼破不開 瀏覽:603
    網路列印機共享怎麼連接 瀏覽:313
    fme系統找不到指定文件 瀏覽:301
    iphoneid和密碼忘了怎麼辦 瀏覽:238
    蘋果電腦優盤里的文件如何加密 瀏覽:284
    word標題名和文件名一致 瀏覽:957
    excel修改後的文件保持了怎麼恢復 瀏覽:340
    社保網路認證怎麼弄 瀏覽:92
    蘋果手機怎麼傳數據到新手機相冊 瀏覽:50
    5s升級ios92無服務 瀏覽:354
    ubuntu翻譯工具 瀏覽:665
    wifi安裝教程 瀏覽:398
    蘋果有些qq文件打不開 瀏覽:139
    微信分身圖片緩存在哪個文件 瀏覽:544

    友情鏈接