標籤:
右擊項目名稱,Run as Android Appication之後,Android項目打包安裝過程:
1.打包產生.apk檔案:
1)把源碼中的.java檔案編譯產生.class檔案
2)將所有的.class檔案通過dex.bat產生為classes.dex檔案
3)產生資源索引表檔案 resources.ap_
4)將項目的設定檔Manifest.xml轉換為二進位檔案
5)使用debug.keystore對整個項目進行打包簽名,如果有配置ANDROID_SDK_HOME這個環境變數來存放模擬器的話,debug.keystore就在該目錄的.android目錄下。若沒有配置,一般放在了C:\Users\使用者名稱\.android目錄下。
2.將產生的.apk檔案載入到模擬器中:
預設放置到/data/local/tmp中
3.安裝載入到模擬器中的apk檔案:
1)把/data/local/tmp/xxx.apk檔案,剪下到/data/app/目錄下,並重新命名一般是變為XXX-1.apk或者XXX-2.apk
2)在/data/data/檔案夾下以包名建立一個檔案夾, 用於儲存當前程式的資料
3)在/data/system/packages.xml和/data/system/packages.list檔案中分別添加一條記錄,以便於系統管理該應用。
查看具體過程,可以通過建立一個項目,然後Run as Android Application來查看,如下:
建立一個android項目,名為011launch_process:
注意到,此時bin下面只有一個res目錄,而res此時也是空的
此時開啟File Explorer視圖:(window ->show view->other中找到)
注意/data/local/tmp目錄,此時為空白
然後右擊項目名稱,Run as Android Application:
此時,bin目錄中多出了很多檔案
而且,如果注意觀察/data/local/tmp目錄,會發現多出來一個檔案,然後又消失了
然後進入到/data/app/,會發現這個目錄下多出了一個檔案,然後一直都存在著。
而且,/data/data/下多出了一個與項目包名相同的目錄
將/data/system/packages.xml和/data/system/packages.list匯出,然後查看內容:
packages.xml中多出下面package節點:
1 <package name="cn.csc.launch_process" codePath="/data/app/cn.csc.launch_process-1.apk" nativeLibraryPath="/data/data/cn.csc.launch_process/lib" flags="0" ft="14e6b736328" it="14e6b737636" ut="14e6b737636" version="1" userId="10049"> 2 3 <sigs count="1"> 4 5 <cert index="1" /> 6 7 </sigs> 8 9 <perms />10 11 </package>
packages.list中多出下面一行:
cn.csc.launch_process 10049 1 /data/data/cn.csc.launch_process
以上,就是Run as Android Application的完整過程。
android菜鳥學習筆記16----Android項目打包安裝過程(Run as Android Application)