編譯安卓步驟
用最新的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內核問題,解決方法如下:
執行如下命令:
通過使用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源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.
㈡ 怎麼反編譯安卓apk
反編譯安卓APK的方法主要包括使用特定工具進行解包、轉換和查看源代碼。以下是詳細步驟:
首先,需要准備反編譯所需的工具。常用的工具有apktool、dex2jar和jd-gui等。這些工具可以分別完成APK文件的解包、將classes.dex文件轉換為.jar文件,以及查看.jar文件的源代碼。此外,還有一些在線工具如JADX、Androguard等,它們可以直接將APK文件上傳進行反編譯,操作相對簡單。
其次,使用apktool工具解包APK文件。在解包之前,需要確保已經安裝了apktool,並且將其添加到了系統的環境變數中。然後,通過命令行進入到APK文件所在的目錄,執行解包命令。解包完成後,會生成一個與APK文件同名的目錄,其中包含了APK文件的資源和代碼。
接下來,使用dex2jar工具將classes.dex文件轉換為.jar文件。將解包得到的classes.dex文件放置到dex2jar工具的目錄下,執行轉換命令。轉換完成後,會生成一個對應的.jar文件。
最後,使用jd-gui等工具打開生成的.jar文件,即可查看源代碼。需要注意的是,由於代碼可能經過優化、混淆或壓縮,因此反編譯後的代碼可讀性可能會較差。
除了上述方法外,還有一些其他的反編譯工具和在線服務可供選擇。這些工具和服務可能具有不同的特點和優勢,可以根據具體需求進行選擇。
需要強調的是,反編譯他人應用的代碼可能涉及法律問題。在進行反編譯操作之前,請務必確保自己擁有合法的授權或許可權,並遵守相關的法律法規。
總的來說,反編譯安卓APK的過程需要藉助專業的工具和技術手段來完成。通過掌握這些工具和方法,可以有效地進行APK文件的反編譯和源代碼查看工作。
㈢ 安卓apk反編譯、修改、重新打包、簽名全過程
在處理安卓apk時,盡管代碼混淆是保護開發者權益的重要手段,但出於學習目的,我們探討如何在特定情況下反編譯apk。主要工具包括apktool用於編譯和反編譯,以及dex2jar和jd-gui進行源碼查看。
首先,確保你的系統安裝了java,並下載apktool.bat腳本和apktool.jar。將它們放在同一目錄,通過命令行操作。命令行中的反編譯命令如:apktool.bat d [-s] -f -o,其中[-s]表示選擇文件夾,-f表示強制反編譯,-o指定輸出目錄。若不指定,將默認在C:\Users\Administrator目錄生成。
在反編譯過程中,需要配合dex2jar工具將classes.dex轉換為源碼文件,然後jd-gui用於查看。如果apk經過混淆,可能需要在線研究以理解混淆後的代碼。
對於修改apk資源,只需替換res文件夾中的相應文件。但修改代碼則相對復雜,因為反編譯後的結果是smali語言,類似於匯編,需要對照smali文件和源碼進行操作。
簽名apk則涉及keytool和jarsigner工具。首先,通過keytool生成keystore文件,然後在同一目錄下使用jarsigner對apk進行簽名。簽署過程中,需要輸入keystore信息並指定證書的有效天數。注意,簽名後的apk需要先卸載原版才能安裝。
㈣ 鎬庝箞鍙嶇紪璇戝畨鍗揳pk
闇瑕佸噯澶囩殑宸ュ叿錛氱數鑴戱紝鍙嶇紪璇戝伐鍏稩LSpy銆
1銆侀栧厛鍦ㄧ櫨搴︿笂鎼滅儲涓嬭澆鍙嶇紪璇戝伐鍏稩LSpy錛岃В鍘嬪悗濡傚浘錛屽弻鍑.exe鏂囦歡鎵撳紑瑙e帇宸ュ叿銆
㈤ 安卓4.0如何反編譯resources.arsc
resources是APK中的資源文件,例如圖片布局等等,android 反編譯的方法,需要用到幾個工具,網路一下都能找到下載地址
dex2jar JD-GUI apktool
反編譯步驟:
1.反編譯Apk得到Java源代碼
首先要下載兩個工具:dex2jar和JD-GUI
前者是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,可以直接查看Jar包的源代碼。
具體步驟:
1.首先將apk文件,將後綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;
2.解壓下載的dex2jar,將classes.dex復制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄
運行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件
還是下載工具,這次用到的是apktool
具體步驟:
將下載的兩個包解壓到同一個文件夾下,應該會有三個文件:aapt.exe,apktool.bat,apktool.jar
1.解壓縮下載的兩個文件包,apktool-install-windows-r04-brut1.tar解壓縮後得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解壓後的一個.jar 文件到解壓後的\apktool-install-windows-r04-brut1文件夾里)
2.特別注意:你要反編譯的文件一定要放在C盤的根目錄里