android — 系統應用替換玩法

需求如下:

 

android下的system分區下的文件全部經過系統簽名認證,包含動態庫,可執行文件及系統apk應用,整個一塊整體,這些文件必須一次性全部升級才可使用,否則將因為簽名及不可修改之特性導致系統應用沒法升級。束個system.im鏡像的系統升級首先是風險高,ROM出問題將會導致整機成為廢鐵一塊,而且無論是ip或是cable下載的時間將會很多,比較斷電或者flash分區壞掉都有可能出一些問題。

 

 

 

 

解決方案:

 

通過研究android系統,發現有一個很簡潔並且基本上沒風險的解決方案,下次簡要說明一下如何做的

 

 

 

 

1、系統應用基本上都是放在 /system/app 下面,一般工廠直接燒寫system.img進去即可

 

2、對於有問題的應用重新開發,對於如下的東東進行修改:

 

     修改androidmainfest.xml中的版本號:

 

   android:versionCode:主要是用於版本升級所用,是INT類型的,第一個版本定義為1,以後遞增,這樣隻要判斷該值就能確定是否需要升級,該值不顯示給用戶。這裡必須將其版本改為比系統版本高1即可

 

 

   利用與原有的系統應用同樣的簽名制作apk

 

3、重新安裝應用

 

   利用adb shell登錄盒子,可利用pm命令進行強制安裝,此時應用將會安裝在 /data/app下面,重啟機器後將會打開此應用

 

pm install: installs a package to the system.  Options:

     -r: reinstall an exisiting app, keeping its data.

 

 

pm install -R PATH

 

 

 

 

缺點:

 

1、隻會多占用一些flash空間,即每個對應需要升級的系統apk優化到/data/data目錄下的可執行dex文件 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *