需求如下:
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文件