簡體   English   中英

android如何存儲和運行程序

[英]how does android store and run programs

Android以APK格式存儲它的程序,這是ZIP / JAR的修改版本。

安裝這些APK文件后,它們將存儲在/system/app/$APKNAME.apk中。

此目錄中的某些應用也有$ APKNAME.obex文件。

這些APK文件包含一些不足之處

META-INF
    MANIFEST.MF
    CERT.RSA
    CERT.SF
SHA1-Digest
res
AndroidManifest.xml
classes.dex
resources.arsc

所以我想知道的是什么是.obex文件和運行時從APK / ZIP / JAR解壓縮的機器人程序以及如何?

這種方式非常有趣,並提供了一些關於Android運行時模型的重要見解。 我建議觀看的第一件事是Dalvik VM內部 ,如果你打算用Android做任何大量的系統內容。 (雖然,它顯然已經過時了。)現在,當Android軟件包管理器獲得一個需要啟動新應用程序的intent時,它會從已經運行的zygote進程中分離出一個新的虛擬機。 這基本上是一種技術,它允許系統獲得許多不錯的內存屬性(共享頁面映射等)。 然后,系統加載(可能預優化和驗證的)文件以加載,以便vm可以開始執行它。 您應該閱讀文檔,它將告訴您如何工作的相關信息。 (也許這個線程也會有所幫助。)請記住,因為所有系統都不同 - 例如,如果您使用的是新體系結構,除非您明確地編寫它,否則您將無法獲得JIT支持! - 您無法確定 Dalvik將如何加載代碼來運行您的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM