Intel byt_t_crv2平台android系统增量包制作

OTA升级就是我们常说的空中升级,有两种类型,分别是:Increment OTA(增量/差分)和Full OTA(整包)。OTA两种类型最大的区别莫过于他们的”出发点“(我们对两种不同升级包的创建,并使用它进行OTA升级)。我们创建整包时不需要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的缩进不对,完成不是我要的家结果。

最后仔细研究整个包的制作过程,发现intel比较奇葩的地方是,他的所有包的校验都算用的自己定义的一套东西,

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

难道制作全包的时候使用也是自己的工具。带着试试看的心态,搜了一下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

果然发现在./vendor/intel/hardware/libintelprov/releasetools/下有自己的东西,拿出来一用果然都应验了,增量包制作成功,完美的刷机成功了。虽说好奇害死猫,但是作为开发还是要脑洞打开,敢想敢干。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,734评论 25 707
  • Android插件化基础的主要内容包括 Android插件化基础1-----加载SD上APKAndroid插件化基...
    隔壁老李头阅读 5,407评论 5 36
  • 在不久之前去了一次西塘。对西塘的感觉,更多的是好似整个河上,漂浮着一层淡淡的忧伤,空气里弥漫着一股浓浓的情欲。
    Foxxx阅读 54评论 0 0
  • 《世说新语·贤媛》中有这样一则小故事: 赵母嫁女,女临去,敕之曰:“慎勿为好。”女曰:“不为好,可为恶邪?”母曰:...
    浅海不浅阅读 669评论 4 5
  • 站在树下 风吹动裙摆 雨丝滴落脸庞 就在站台 等着载我去的地方 不知道来往的车辆载着何人 不知道何人要去的地方 可...
    田萍阅读 75评论 1 4