Intel byt_t_crv2平臺android系統(tǒng)增量包制作

OTA升級就是我們常說的空中升級抹蚀,有兩種類型替久,分別是:Increment OTA(增量/差分)和Full OTA(整包)鹃锈。OTA兩種類型最大的區(qū)別莫過于他們的”出發(fā)點“(我們對兩種不同升級包的創(chuàng)建误甚,并使用它進行OTA升級)拌汇。我們創(chuàng)建整包時不需要old包骆莹,可以直接使用base包進行升級,因此整包一般用來升級整個固件【∞-> B】担猛,而差分包一般用于兩個特定的點【A->B】幕垦。

之前在很多別的安卓平臺都用過ota升級功能,只要把recovery功能做好傅联,包的制作都算很順暢的先改,沒想到這次使用intel的byt_t_crv2卻遇到問題。剛開始看對熟悉的制作過錯還是開心了一下蒸走,感覺一切都是這么熟悉順利仇奶,沒想到最后當頭一棒。

gavin@gavin:/opt/source/boxs/mbox_r44b_base$ ./build/tools/releasetools/ota_from_target_files -i base.zip target.zip update.zip

unzipping target target-files...

using device-specific extensions in out/host/linux-x86/bin/releasetools.py

unzipping source target-files...

Loading target...

Loading source...

134 diffs to compute

12.69 sec? ? 2099 / 12343030 bytes (? 0.02%) system/priv-app/Launcher2.apk

17.82 sec? ? ? 201 / 17827460 bytes (? 0.00%) system/lib/libLLVM.so

10.09 sec? ? 3759 / 11823472 bytes (? 0.03%) system/framework/framework-res.apk

6.87 sec? ? 2096 / 11124408 bytes (? 0.02%) system/priv-app/Settings.apk

5.01 sec? ? ? 184 /? 9635736 bytes (? 0.00%) system/framework/framework.odex

3.13 sec? ? ? 196 /? 5750489 bytes (? 0.00%) system/lib/libchromium_net.so

1.75 sec? ? ? 179 /? 3790016 bytes (? 0.00%) system/framework/services.odex

2.51 sec? ? 38445 /? 5157670 bytes (? 0.75%) system/lib/libpac.so

1.31 sec? ? ? 181 /? 3240128 bytes (? 0.01%) system/framework/core.odex

2.10 sec? ? ? 242 /? 3701377 bytes (? 0.01%) system/framework/framework.jar

1.23 sec? ? ? 184 /? 2943552 bytes (? 0.01%) system/framework/core-libart.odex

1.24 sec? ? 2117 /? 2683967 bytes (? 0.08%) system/priv-app/TeleService.apk

0.62 sec? ? ? 181 /? 1665384 bytes (? 0.01%) system/framework/framework2.odex

0.92 sec? ? ? 247 /? 1854250 bytes (? 0.01%) system/lib/libbcc.so

0.53 sec? ? ? 232 /? 1549942 bytes (? 0.01%) system/framework/services.jar

0.56 sec? ? ? 185 /? 1509992 bytes (? 0.01%) system/framework/ext.odex

0.62 sec? ? 2108 /? 1473450 bytes (? 0.14%) system/priv-app/SystemUI.apk

0.54 sec? ? ? 179 /? 1397624 bytes (? 0.01%) system/framework/telephony-common.odex

0.49 sec? ? ? 174 /? 1378848 bytes (? 0.01%) system/framework/apache-xml.odex

0.58 sec? ? ? 237 /? 1234067 bytes (? 0.02%) system/framework/core-libart.jar

0.58 sec? ? ? 237 /? 1231861 bytes (? 0.02%) system/framework/core.jar

0.56 sec? ? ? 238 /? 1222968 bytes (? 0.02%) system/framework/ext.jar

0.41 sec? ? ? 171 /? 1118856 bytes (? 0.02%) system/framework/bouncycastle.odex

0.37 sec? ? 2110 /? 927942 bytes (? 0.23%) system/priv-app/Keyguard.apk

0.31 sec? ? ? 194 /? 816398 bytes (? 0.02%) system/lib/libwebrtc_audio_preprocessing.so

0.37 sec? ? 2132 /? 803260 bytes (? 0.27%) system/app/Bluetooth.apk

0.27 sec? ? ? 173 /? 772664 bytes (? 0.02%) system/framework/webviewchromium.odex

0.21 sec? ? ? 229 /? 605728 bytes (? 0.04%) system/framework/framework2.jar

0.21 sec? ? ? 202 /? 583415 bytes (? 0.03%) system/lib/libstagefright_soft_aacenc.so

0.19 sec? ? ? 190 /? 535777 bytes (? 0.04%) system/bin/mdnsd

0.27 sec? ? ? 231 /? 549364 bytes (? 0.04%) system/framework/apache-xml.jar

0.20 sec? ? ? 232 /? 527830 bytes (? 0.04%) system/framework/telephony-common.jar

0.18 sec? ? ? 329 /? 479243 bytes (? 0.07%) system/lib/libstagefright_soft_aacdec.so

0.17 sec? ? 2068 /? 474303 bytes (? 0.44%) system/app/PhotoTable.apk

0.15 sec? ? ? 231 /? 409338 bytes (? 0.06%) system/framework/bouncycastle.jar

0.13 sec? ? ? 181 /? 375376 bytes (? 0.05%) system/framework/conscrypt.odex

0.22 sec? ? 2053 /? 385517 bytes (? 0.53%) system/priv-app/ContactsProvider.apk

0.16 sec? ? 2081 /? 368686 bytes (? 0.56%) system/app/PackageInstaller.apk

0.20 sec? ? 2120 /? 354688 bytes (? 0.60%) system/app/DocumentsUI.apk

0.13 sec? ? ? 233 /? 290783 bytes (? 0.08%) system/framework/webviewchromium.jar

0.10 sec? ? ? 173 /? 266376 bytes (? 0.06%) system/framework/android.policy.odex

1.20 sec? ? ? 674 /? 237151 bytes (? 0.28%) system/etc/NOTICE.html.gz

0.13 sec? ? 2065 /? 220177 bytes (? 0.94%) system/priv-app/CalendarProvider.apk

0.08 sec? ? ? 175 /? 214200 bytes (? 0.08%) system/framework/okhttp.odex

0.11 sec? ? 2064 /? 192703 bytes (? 1.07%) system/app/SensorCal.apk

0.08 sec? ? ? 176 /? 189688 bytes (? 0.09%) system/framework/android.test.runner.odex

0.08 sec? ? ? 174 /? 171848 bytes (? 0.10%) system/framework/voip-common.odex

0.10 sec? ? 2077 /? 155251 bytes (? 1.34%) system/app/CertInstaller.apk

0.08 sec? ? ? 230 /? 145349 bytes (? 0.16%) system/framework/conscrypt.jar

0.07 sec? ? ? 184 /? 139845 bytes (? 0.13%) system/xbin/oprofiled

0.07 sec? ? 2059 /? 132654 bytes (? 1.55%) system/priv-app/InputDevices.apk

0.07 sec? ? 2063 /? 131903 bytes (? 1.56%) system/priv-app/BackupRestoreConfirmation.apk

2.46 sec? 268841 /? 296051 bytes ( 90.81%) system/media/bootanimation.zip

0.07 sec? ? ? 172 /? 130760 bytes (? 0.13%) system/framework/mms-common.odex

0.17 sec? ? 2070 /? 127300 bytes (? 1.63%) system/priv-app/SettingsProvider.apk

0.17 sec? ? 2061 /? 123680 bytes (? 1.67%) system/priv-app/MediaProvider.apk

0.05 sec? ? ? 167 /? 120584 bytes (? 0.14%) system/framework/monkey.odex

0.06 sec? ? ? 174 /? 115112 bytes (? 0.15%) system/framework/uiautomator.odex

0.08 sec? ? ? 234 /? 112611 bytes (? 0.21%) system/framework/android.policy.jar

0.08 sec? ? ? 229 /? ? 90315 bytes (? 0.25%) system/framework/okhttp.jar

0.06 sec? ? 2051 /? ? 89065 bytes (? 2.30%) system/app/TelephonyProvider.apk

0.07 sec? ? ? 228 /? ? 74045 bytes (? 0.31%) system/framework/android.test.runner.jar

0.06 sec? ? 2038 /? ? 69831 bytes (? 2.92%) system/app/KeyChain.apk

0.07 sec? ? ? 231 /? ? 68031 bytes (? 0.34%) system/framework/voip-common.jar

0.05 sec? ? 2065 /? ? 59456 bytes (? 3.47%) system/priv-app/VpnDialogs.apk

0.04 sec? ? ? 170 /? ? 59152 bytes (? 0.29%) system/framework/javax.obex.odex

0.05 sec? ? ? 228 /? ? 52464 bytes (? 0.43%) system/framework/mms-common.jar

0.04 sec? ? ? 185 /? ? 50745 bytes (? 0.36%) system/lib/libmdnssd.so

0.04 sec? ? ? 174 /? ? 49344 bytes (? 0.35%) system/framework/am.odex

0.05 sec? ? ? 232 /? ? 48970 bytes (? 0.47%) system/framework/monkey.jar

0.05 sec? ? 2074 /? ? 47889 bytes (? 4.33%) system/priv-app/Shell.apk

0.05 sec? ? ? 226 /? ? 46594 bytes (? 0.49%) system/framework/uiautomator.jar

0.05 sec? ? ? 181 /? ? 45348 bytes (? 0.40%) system/bin/debuggerd

0.04 sec? ? ? 173 /? ? 41824 bytes (? 0.41%) system/framework/pm.odex

0.04 sec? ? 2050 /? ? 40381 bytes (? 5.08%) system/app/HdmiSettings.apk

0.04 sec? ? ? 169 /? ? 34912 bytes (? 0.48%) system/framework/com.intel.camera.extensions.odex

0.03 sec? ? ? 171 /? ? 27688 bytes (? 0.62%) system/framework/core-junit.odex

0.06 sec? ? 2078 /? ? 31725 bytes (? 6.55%) system/app/VppSettings.apk

0.07 sec? ? ? 171 /? ? 26312 bytes (? 0.65%) system/framework/com.intel.security.service.sepmanager.odex

0.06 sec? ? 2048 /? ? 26214 bytes (? 7.81%) system/priv-app/ExternalStorageProvider.apk

0.05 sec? ? ? 229 /? ? 25677 bytes (? 0.89%) system/framework/javax.obex.jar

0.07 sec? ? ? 163 /? ? 22048 bytes (? 0.74%) system/framework/com.android.location.provider.odex

0.05 sec? ? ? 168 /? ? 21640 bytes (? 0.78%) system/framework/com.intel.multidisplay.odex

0.05 sec? ? 2078 /? ? 19704 bytes ( 10.55%) system/priv-app/DefaultContainerService.apk

0.05 sec? ? ? 231 /? ? 19315 bytes (? 1.20%) system/framework/am.jar

0.04 sec? ? ? 167 /? ? 18032 bytes (? 0.93%) system/framework/content.odex

0.04 sec? ? ? 229 /? ? 17499 bytes (? 1.31%) system/framework/pm.jar

0.03 sec? ? ? 168 /? ? 15472 bytes (? 1.09%) system/framework/bmgr.odex

0.06 sec? ? ? 169 /? ? 16926 bytes (? 1.00%) system/bin/rdnssd

41.36 sec? ? ? 230 / 49638784 bytes (? 0.00%) system/lib/libwebviewchromium.so

0.04 sec? ? 2040 /? ? 14365 bytes ( 14.20%) system/priv-app/FusedLocation.apk

0.04 sec? ? ? 228 /? ? 12400 bytes (? 1.84%) system/framework/com.intel.camera.extensions.jar

0.04 sec? ? ? 220 /? ? 11711 bytes (? 1.88%) system/framework/core-junit.jar

0.05 sec? ? 2045 /? ? 10920 bytes ( 18.73%) system/app/UserDictionaryProvider.apk

0.05 sec? ? ? 168 /? ? 10832 bytes (? 1.55%) system/framework/svc.odex

0.05 sec? ? ? 164 /? ? 10800 bytes (? 1.52%) system/framework/com.android.media.remotedisplay.odex

0.04 sec? ? ? 167 /? ? 9552 bytes (? 1.75%) system/framework/input.odex

0.04 sec? ? ? 166 /? ? 9392 bytes (? 1.77%) system/framework/requestsync.odex

0.04 sec? ? ? 164 /? ? 9248 bytes (? 1.77%) system/framework/media_cmd.odex

0.04 sec? ? ? 227 /? ? 9209 bytes (? 2.46%) system/framework/com.intel.multidisplay.jar

0.04 sec? ? ? 224 /? ? 8963 bytes (? 2.50%) system/framework/com.intel.security.service.sepmanager.jar

0.04 sec? ? ? 167 /? ? 8576 bytes (? 1.95%) system/framework/settings.odex

0.04 sec? ? ? 225 /? ? 8507 bytes (? 2.64%) system/framework/com.android.location.provider.jar

0.04 sec? ? 2048 /? ? 8199 bytes ( 24.98%) system/priv-app/ProxyHandler.apk

0.04 sec? ? ? 228 /? ? 7716 bytes (? 2.95%) system/framework/content.jar

0.04 sec? ? ? 167 /? ? 7256 bytes (? 2.30%) system/framework/ime.odex

0.04 sec? ? 2047 /? ? 7148 bytes ( 28.64%) system/app/WAPPushManager.apk

0.04 sec? ? ? 163 /? ? 7080 bytes (? 2.30%) system/framework/wm.odex

0.06 sec? ? 2040 /? ? 6906 bytes ( 29.54%) system/priv-app/SharedStorageBackup.apk

0.04 sec? ? ? 225 /? ? 6683 bytes (? 3.37%) system/framework/bmgr.jar

0.05 sec? ? ? 165 /? ? 6536 bytes (? 2.52%) system/framework/com.android.future.usb.accessory.odex

0.04 sec? ? ? 169 /? ? 6328 bytes (? 2.67%) system/framework/com.intel.nfc.adapteraddon.odex

0.05 sec? ? ? 198 /? ? 6203 bytes (? 3.19%) system/lib/libbcc.sha1.so

0.04 sec? ? 2036 /? ? 5702 bytes ( 35.71%) system/priv-app/OneTimeInitializer.apk

0.04 sec? ? 2029 /? ? 5656 bytes ( 35.87%) system/app/PacProcessor.apk

0.04 sec? ? ? 162 /? ? 5504 bytes (? 2.94%) system/framework/bu.odex

0.05 sec? ? ? 228 /? ? 4703 bytes (? 4.85%) system/framework/input.jar

0.04 sec? ? ? 226 /? ? 4620 bytes (? 4.89%) system/framework/svc.jar

0.05 sec? ? ? 229 /? ? 4590 bytes (? 4.99%) system/framework/com.android.media.remotedisplay.jar

0.04 sec? ? ? 228 /? ? 4205 bytes (? 5.42%) system/framework/media_cmd.jar

0.05 sec? ? ? 228 /? ? 4247 bytes (? 5.37%) system/framework/requestsync.jar

0.04 sec? ? ? 166 /? ? 4200 bytes (? 3.95%) system/framework/com.intel.security.lib.sepdrmjni.odex

0.04 sec? ? ? 226 /? ? 4114 bytes (? 5.49%) system/framework/settings.jar

0.04 sec? ? 2054 /? ? 3688 bytes ( 55.69%) system/app/Provision.apk

0.04 sec? ? ? 225 /? ? 3411 bytes (? 6.60%) system/framework/wm.jar

0.04 sec? ? ? 225 /? ? 3373 bytes (? 6.67%) system/framework/ime.jar

0.04 sec? ? ? 225 /? ? 2925 bytes (? 7.69%) system/framework/com.intel.nfc.adapteraddon.jar

0.04 sec? ? ? 226 /? ? 2833 bytes (? 7.98%) system/framework/com.android.future.usb.accessory.jar

0.04 sec? ? ? 223 /? ? 2726 bytes (? 8.18%) system/framework/bu.jar

0.04 sec? ? ? 208 /? ? 2420 bytes (? 8.60%) system/build.prop

0.05 sec? ? ? 223 /? ? 1824 bytes ( 12.23%) system/framework/com.intel.security.lib.sepdrmjni.jar

0.04 sec? ? ? 159 /? ? 1800 bytes (? 8.83%) system/framework/com.intel.config.odex

0.04 sec? ? ? 190 /? ? 1309 bytes ( 14.51%) system/etc/security/otacerts.zip

0.03 sec? ? ? 221 /? ? ? 871 bytes ( 25.37%) system/framework/com.intel.config.jar

building image from target_files BOOT...Traceback (most recent call last): File "./build/tools/releasetools/ota_from_target_files", line 1057, inmain(sys.argv[1:])

File "./build/tools/releasetools/ota_from_target_files", line 1042, in main

WriteIncrementalOTAPackage(input_zip, source_zip, output_zip)

File "./build/tools/releasetools/ota_from_target_files", line 679, in WriteIncrementalOTAPackage

OPTIONS.source_info_dict)

File "/opt/source/boxs/mbox_r44b_base/build/tools/releasetools/common.py", line 344, in GetBootableImage

info_dict))

File "/opt/source/boxs/mbox_r44b_base/build/tools/releasetools/common.py", line 818, in __init__

self.size = len(data)

TypeError: object of type 'NoneType' has no len()

通過粗淺的python知識比驻,知道這里是參數不對该溯。根據提示打開build/tools/releasetools/ota_from_target_files文件研究了一會,參數安全就不是那么回事啊别惦,驢頭不對馬嘴的狈茉,一切都對應不上的。打開百度搜到的也就是有個try的縮進不對掸掸,完成不是我要的家結果氯庆。

最后仔細研究整個包的制作過程蹭秋,發(fā)現intel比較奇葩的地方是,他的所有包的校驗都算用的自己定義的一套東西堤撵,

running: openssl pkcs8 -in ./vendor/intel/PRIVATE/cert/testkey.pk8 -inform DER -nocrypt

難道制作全包的時候使用也是自己的工具仁讨。帶著試試看的心態(tài),搜了一下ota_from_target_files

gavin@gavin:/opt/source/boxs/mbox_r44b_base$ find -name ota_from_target_files

./vendor/intel/hardware/libintelprov/releasetools/ota_from_target_files

./out/host/linux-x86/obj/EXECUTABLES/ota_from_target_files_intermediates/ota_from_target_files

./out/host/linux-x86/bin/ota_from_target_files

果然發(fā)現在./vendor/intel/hardware/libintelprov/releasetools/下有自己的東西实昨,拿出來一用果然都應驗了洞豁,增量包制作成功,完美的刷機成功了荒给。雖說好奇害死貓丈挟,但是作為開發(fā)還是要腦洞打開,敢想敢干锐墙。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末礁哄,一起剝皮案震驚了整個濱河市长酗,隨后出現的幾起案子溪北,更是在濱河造成了極大的恐慌,老刑警劉巖夺脾,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件之拨,死亡現場離奇詭異,居然都是意外死亡咧叭,警方通過查閱死者的電腦和手機蚀乔,發(fā)現死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菲茬,“玉大人吉挣,你說我怎么就攤上這事⊥竦” “怎么了睬魂?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長镀赌。 經常有香客問我氯哮,道長,這世上最難降的妖魔是什么商佛? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任喉钢,我火速辦了婚禮,結果婚禮上良姆,老公的妹妹穿的比我還像新娘肠虽。我一直安慰自己,他們只是感情好玛追,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布舔痕。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伯复。 梳的紋絲不亂的頭發(fā)上慨代,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機與錄音啸如,去河邊找鬼侍匙。 笑死,一個胖子當著我的面吹牛叮雳,可吹牛的內容都是我干的想暗。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼帘不,長吁一口氣:“原來是場噩夢啊……” “哼说莫!你這毒婦竟也來了?” 一聲冷哼從身側響起寞焙,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤储狭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捣郊,有當地人在樹林里發(fā)現了一具尸體辽狈,經...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年呛牲,在試婚紗的時候發(fā)現自己被綠了刮萌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡娘扩,死狀恐怖着茸,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情琐旁,我是刑警寧澤涮阔,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站旋膳,受9級特大地震影響澎语,放射性物質發(fā)生泄漏。R本人自食惡果不足惜验懊,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一擅羞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧义图,春花似錦减俏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奏夫。三九已至,卻和暖如春历筝,著一層夾襖步出監(jiān)牢的瞬間酗昼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工梳猪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留麻削,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓春弥,卻偏偏與公主長得像呛哟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子匿沛,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,328評論 25 707
  • Android插件化基礎的主要內容包括 Android插件化基礎1-----加載SD上APKAndroid插件化基...
    隔壁老李頭閱讀 5,414評論 5 36
  • 在不久之前去了一次西塘扫责。對西塘的感覺,更多的是好似整個河上逃呼,漂浮著一層淡淡的憂傷鳖孤,空氣里彌漫著一股濃濃的情欲。
    Foxxx閱讀 81評論 0 0
  • 《世說新語·賢媛》中有這樣一則小故事: 趙母嫁女蜘渣,女臨去淌铐,敕之曰:“慎勿為好肺然∧韪祝”女曰:“不為好,可為惡邪际起?”母曰:...
    淺海不淺閱讀 676評論 4 5
  • 站在樹下 風吹動裙擺 雨絲滴落臉龐 就在站臺 等著載我去的地方 不知道來往的車輛載著何人 不知道何人要去的地方 可...
    田萍閱讀 76評論 1 4