⑴ apk文件是什麼
APK是androidPackage的縮寫,即Android安裝包(apk)。APK是類似SymbianSis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
一個Android應用程序的代碼要在Android設備上運行,必須先進行編譯,然後被打包成為一個被Android系統所能識別的文件才可以被運行,而這種能被Android系統識別並運行的文件格式便是「APK」。 一個APK文件內包含被編譯的代碼文件(.dex 文件),文件資源(resources),assets,證書(certificates),和清單文件(manifest file)。
apk生命周期:
生命周期是由AndroidOS操作系統進行管理的,活動進程都將做為系統命令進行創建,正確處理這些事件對一個應用程序來說是極為重要的,因為終端用戶不會知道什麼是正確的。要在開始設計游戲之前搞明白這些,因為這有助於節省調試時間以及避免代價高昂的重新設計。
對大多數應用而言,默認設置即可開始工作,但對游戲而言,可能需要調整單態實例的信號為打開。在默認情況下,Android會新建一個活動實例進程,因為它認為這是比較合適的,而游戲,可能只希望有一個活動的實例進程,這會有影響,它需要了解一些系統狀態的管理。
以上內容參考:網路-apk
⑵ Android APK編譯流程
apk 是Android Package的簡寫, 在平時的開發過程中,通過點擊 Run app 按鈕 或者 在命令行中輸入
這樣Android Studio就會啟動構建流程,最終輸出一個我們想要的APK。
直達官網介紹
對於小白來說,上面一張圖已經可以解釋apk的構建過程了,不過對於Andoid開發者而言還需要了解一些更詳細的構建過程。
詳細的對應步驟 和 使用工具如下:
資源文件(res文件夾下的文件)通過 AAPT(Android Asset Packaging Tool)打包生成R.java類(資源索引表)、.arsc資源文件 和res文件。
resources.arsc 是一個App的資源索引表,通過R.java 文件 和 resources.arsc 可以定位到資源的內存地址,resources.arsc文件的作用是通過一樣的ID,根據不同的配置索引到最佳的資源顯示在UI中。
AIDL (Android Interface Definition Language), 是Android介面定義語言,是Android提供的IPC (Inter Process Communication,進程間通信)的一種獨特實現。
如果有aidl文件,這個階段會生成對應的Java介面文件。
R.java文件、工程源碼文件、aidl.java文件, 在這一步通過javac生成.class文件。
源碼.class文件和第三方jar或者library通過dx工具打包成dex文件
Android系統的Dalvik虛擬機的可執行文件為DEX格式,所以這里會將上一步中生成的.class文件 和 引用的第三方jar等過程中的.class 一起通過dx工具打包成dex文件
apkbuilder工具會將所有沒有編譯的資源、.arsc資源、.dex文件打包到一個完成apk文件中
tips:
apksigner工具會對未簽名的apk驗證簽名。得到一個簽名後的apk(signed.apk)
apksigner 是google 退出的V2簽名方式
Jarsigner 是之前一直使用的V1簽名方式
可以通過在命令行中輸入apksigner --help來獲取詳情信息,如果沒有特殊需求,使用下面命令即可完成簽名
release mode 下使用 aipalign進行align,即對簽名後的apk進行對齊處理
所謂對齊,主要過程是將APK包中所有的資源文件距離文件起始偏移為4位元組整數倍,這樣通過內存映射訪問apk文件時的速度會更快。對齊的作用主要是為了減少運行時內存的使用。
zipalign是一個android平台上整理APK文件的工具,它對apk中未壓縮的數據進行4位元組對齊,對齊後就可以使用mmap函數讀取文件,可以像讀取內存一樣對普通文件進行操作。如果沒有4位元組對齊,就必須顯式的讀取,這樣比較緩慢並且會耗費額外的內存。
參考文章:
Android-Studio配置構建
淺談Android打包流程
apk打包流程
END!
⑶ apk是什麼文件格式
很多朋友再使用電腦或手機的時候都有看到過apk這樣的文件,但是很多朋友不知道apk是什麼文件,現在讓大家了解apk。
apk安裝器
apk安裝器是Android手機網開發的一款重量級安卓手機應用安裝工具。APK裝置器軟體使用過程中不會發生任何費用,完全免費,界面簡練明晰,能夠很輕松點擊裝置SD卡上存儲的APK文件,輕松點擊卸載用戶現已裝置的使用。
⑷ android 工程 如何一鍵編譯打包成apk
打包步驟:
1、生成keystore
按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目錄下,輸入keytool-genkey-aliasandroid.keystore-keyalgRSA-validity100000-keystoreandroid.keystore
參數意義:-validity主要是證書的有效期,寫100000天;空格,退格鍵都算密碼。
命令執行後會在C:ProgramFilesJavajdk1.6.0_10in>目錄下生成android.keystore文件。如圖-1
圖-2EclipseAndroid打包工具
接下來的步驟就是不斷的next。下面僅貼出圖片,不解釋。
step2:選擇打包的項目
step3:選擇生成的EclipseAndroid.keystore文件並輸入密碼
step4:選擇aliaskey並輸入密碼
step5:最後選擇生成androidapk文件的目錄及文件名
最終生成的apk文件。
⑸ apk是什麼文件apk文件怎麼打開
1APK是AndroidPackage的縮寫,即Android安裝包(apk)。
打開方法;
1
首先,要確定你的APK文件的性質,是在電腦的什麼位置,電腦中是否有能打開APK文件的軟體,如果沒有的話,要安裝些類軟體或在手機里打開APK文件。
2
apk軟體是基於LINX開發的,而我們現在用的電腦系統一般都是windos操作系統,所以肯定不能直接打開。所以要藉助一些軟體或其它方法才能在電腦中打開。
3
APK文件是zip格式,可以在電腦中右鍵點擊文件選擇打開方式,然後選擇用winrar打開來查看文件中的內容。或者更改文件後綴名為.rar,然後用winrar文件解壓,會得到一個文件夾,裡面就是改程序的源文件了。
4
如果想在電腦中打開下載了的apk文件,也可以下載一豌豆莢或91助手類型的軟體,安裝在電腦上,這時,把手機通過USB數據線連接到電腦上,在電腦上可以讀出APK文件並且可以安裝在手機。
5
如果用帶有安卓(Android)系統手機的「ES瀏覽器」找到存放手機內的apk文件,點擊後等於把文件進行了解壓,這時會問你是否安裝此文件,你如果同意的話,此軟體就會安裝在你的手機內了。這是用手機直接打開APK文件的最好辦法。
6
其實APK文件只是zip格式文件一種,是安裝在安卓手機上,後綴名為apk的一種類型的文件。安卓系統手機的操作系統本身有打開這類文件的軟體,通過UnZip解壓後,可以便可以直接安裝在安卓手機系統內了。
⑹ 安卓手機如何打開.apk文件
在安卓手機的文件管理中找到apk文件,然後點擊安裝進行安裝就可以了。APK是Android操作系統使用的一種應用程序包文件格式,用於分發和安裝移動應用及中間件。一個Android應用程序的代碼想要在Android設備上運行,必須先進行編譯,然後被打包成為一個被Android系統所能識別的文件才可以被運行,而這種能被Android系統識別並運行的文件格式便是“APK”。
APK是Android application package的縮寫,即Android安裝包(apk)。APK是類似SymbianSis或Sisx的文件格式,在安卓手機中可以直接安裝打開。
一個APK文件內包含被編譯的代碼文件(.dex 文件),文件資源(resources), 原生資源文件(assets),證書(certificates),和清單文件(manifest file),APK 文件基於 ZIP 文件格式,它與JAR文件的構造方式相似,互聯網媒體類型是:application/vnd.android.package-archive。
apk文件和sis一樣,把androidsdk編譯的工程打包成一個安裝程序文件,格式為apk。 APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是DalvikVM executes的簡稱,即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。