您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

youtube for android 4.1.2(為什么Android系統應用更新不是讓新apk替換進入/system分區)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-02 23:53:14【】6人已围观

简介為什么Android系統應用更新不是讓新apk替換進入/system分區這里涉及到兩個問題:odex和第三方制作的Gapps刷機包買來一個android設備,沒有root前都是這樣子的:只要不

為什么Android系統應用更新不是讓新apk替換進入/system分區

這里涉及到兩個問題:odex和第三方制作的Gapps刷機包

買來一個android設備,沒有root前都是這樣子的:

只要不是內地的android設備基本都會搭載google提供的一系列android手機的應用,大家會叫它Gapps,GMS什么的。這一批應用包含了表面的從gmail到youtube到play service到背后的公共用途的軟件包,以及很多framework和本地代碼動態運行庫及其它內容。

當然其中大部分可執行代碼都以dex這種可以由dalvik這個java虛擬機執行的的形式存在,具體的說,是以odex的形式存在。

dalvik在運行dex之前,需要做一系列驗證,確保dex里頭的代碼是符合規范,是能安全執行的,dalvik做完檢查后,將dex做一些處理(比如調整,加校驗位等),就變成了odex。實際上在dalvik里頭運行的是odex。

所以,正式發售的設備的內置應用程序,都是以***.apk加上同名的***.odex存在的。

因為這種機制,把一對apk/odex放到另一臺不同(具體)型號的設備里是沒法運行的。

而google不允許包括CM在內的第三方rom里內置Gapps。Gapps是收費的私有軟件。

所以,目前想到的辦法是借助smali等開源工具做deodex,將odex轉化成可以通用的dex。這樣重新打包了Gapps后,才能作為刷機包塞到別的設備中

-----------------------------------

google會不會對gapps進行升級?

顯然是的,一部分的升級會通過play store進行,比如更新play store本身,裝一個google play service(這個apk實際上是一個供第三方應用程序的API合集,有了它才能在第三方應用中使用google maps的矢量地圖,通過google+登陸等項目)

另外一部分則要通過設備的OTA做,因為這個更新實在太大了,同一個手機,從android4.0升級到android4.1時,可能每一個Gapps的文件都需要替換,而且android安裝應用程序的機制說到底只能改變apk文件,但它動不了framework,library,所以這些東西的更新需要借助OTA等通過bootloader許可直接修改system分區的手段

在第三方打包好的gapps里就能發現,gapps有很多很多的版本

我覺得刷gapps的原則是,首先gapps要適配設備當前android的大版本,給4.1用的gapps就不應該刷到4.0系統里,使用intel處理器的尤其要注意,這個gapps是不是給x86設備的,Z24x0/27x0只能有限度地翻譯arm代碼,把arm設備的gapps給x86設備用,可能會導致系統根本無法啟動;然后越新打包出來的gapps問題可能會越少。

很赞哦!(61178)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:河北省邯郸武安市

工作室:小组

Email:[email protected]