手機必不可少的功能 FOTA(無線公升級)

2021-08-04 11:52:29 字數 2687 閱讀 9579

fota總結

適用範圍:展訊平台,mtk平台 ,高通平台

一、 t卡公升級

1、 編譯差分包:

編譯**:

source build/envsetup.sh;

lunch ***-user(專案名稱);

make -j8;

make -j8 otapackage;

pac;

執行完命令後會有如下包生成:

out/target/product/zsl829/obj/packaging/target_files_intermediates/***-target_files.zip

out/target/product/zsl829 /***-ota-eng.gsoft2-3.zip

其中***-target_files.zip是查分包,***-ota-eng.gsoft2-3.zip為整包,對***r-ota-eng.gsoft2-3.zip簽名後即可直接使用,但是我們在製作差分包和整包時都是使用的是***-target_files.zip,如下的操作也是以該zip檔案為例。

2、 製作查分包:

在根目錄下執行如下命令即可生成差分包:

./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86/ -k build/target/product/security/testkey -i ***-target_files_old.zip ***-target_files_new.zip update.zip(debug版本)

./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86/ -k build/target/product/security/release/releasekey -i ***-target_files_old.zip ***-target_files_new.zip update.zip(user版本)

執行以上命令後可在根目錄下生成update.zip,該zip檔案即為查分包,接下來將其拷貝到t卡,然後燒錄zsl829_condor-target_files_old.zip的版本pac包,adb reboot recovery 或者電源鍵加音量上建進去recovery mode選擇update from sdcard ,然後選擇該update.zip檔案即可進行公升級。

指令說明:可以根據客戶需求新增不同的指令達到客戶需求,比如公升級擦除資料,reset等,可以在以上製作差分包的命令中加入,具體可參考build/tools/releasetools/ ota_from_target_files指令碼:

終端執行命令:./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86/

-u lk.bin

-r preloader 有時會黑屏,這是就需要readback手機中的preloader更新後寫入

-l logo.bin 開機logo

-f 相當與恢復出廠設定 user公升級時卡頓在了開機動畫介面,重啟以後是好的

-w 擦除data域的資料,我們可以改變ota的指令碼來達到隨心的擦除資料的目的

-2 公升級前先更新recovery,然後再公升級

-v 只有在差分包的時候會校驗

-k build/target/product/security/testkey -i old.zip new.zip update.zip(製作差分包)

其中old和new都是 full_zaw1801_rivo-target_files.zip

製作整包:

./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86/ -k build/target/product/security/testkey ***-target_files.zip update.zip

3、t卡公升級常見錯誤

3.1、簽名錯誤:signature

系統的簽名檔案放在build/target/product/security裡,預設的user版本使用的是

releasekey,userdebug使用的是testkey,但是我們可以在build/core/makefile中進行更改,

ifeq ($(mtk_signature_customization),yes)

build_keys := release-keys

endif

如果遇到簽名錯誤的話可以將簽名更改即可。

3.2、system 、cache空間不夠

ota的system空間的大小至少保留30m才能保證其公升級成功,如果system空間大小不夠時增加空間即可。cache分割槽是ota公升級的地方,也要有足夠大的空間才能保證其能公升級成功,一般導致cache分割槽空間不足的原因多是預置的有些apk的odex太大導致的。

3.3、fingerprint

此類錯誤一般是因為版本down錯了導致,基版本和目標版本down錯了,***-target_files_old.zip對應的是基版本,***-target_files_new.zip對應的是目標版本。

3.4、ro.product.name ro.product.device不同導致

不管是做差分包公升級還是整包公升級,基版本和目標版本的ro.product.name必須相同

web報表軟體必不可少的功能 填報

1 web報表軟體能夠處理資料入庫。開發者不用為每個報表編寫入庫程式,資料能自動寫入事先設計好的 能反映業務規則的資料結構中,而不是報表工具指定的固定資料結構。需要填寫的web報表可能是行式的或交叉式的,資料入庫的規則在報表定義時應當只定義一行 或一格 其它行 格 能夠自動按規則重複 2 填報方案能...

必不可少的陣列操作技巧

大多數的時候都是用這個方法來擷取陣列中的某些內容,今天突然仔細閱讀文件的時候發現它可以傳遞三個引數,有了這個引數可以在陣列中指定的位置插入內容,直接上簡單的 看看吧 常規使用,從索引1開始刪除兩項 結果 0,3 let arr 0,1,2,3 arr.splice 1,2 第三個引數插入使用 此時結...

20個必不可少的Python庫

今天我將介紹20個屬於我常用工具的python庫,我相信你看完之後也會覺得離不開它們。他們是 requests.kenneth reitz寫的最富盛名的http庫。每個python程式設計師都應該有它。scrapy.如果你從事爬蟲相關的工作,那麼這個庫也是必不可少的。用過它之後你就不會再想用別的同類...