哪位大神有岛国的网站知道diff.new是什么文件,在手机里可以删吗

10092人阅读
Android打包(4)
Android 5.0开始,ota包采用了一种新的system.img的压缩方式。对于这种方式,如果是完整地升级,在ota的zip包中放的基本上就是一个ext4格式的image,但是它不是完整的ext4镜像,而是一个扣除了很多全零信息的包。如果是针对一个基础镜像做差值得到的差量包,也可以用这种方式进行稀疏描述。
这里主要介绍如何从system的源目录生成最后的ota的zip包。对于从ota包中解包得到文件的方式可以参见我的另一篇博文:。
&如果想生成一个ota完整包,一般会放置boot、system以及其他一些image,后面的一般跟设备有关,比如radio,slb等。Boot的生成其实也跟设备相关,比如有的需要dt(device tree)什么的。这里主要介绍一下system的打包:如何生成system.new.dat等文件。
1.&&&&&&第一步,利用system目录和file_contexts生成system.img
其实制作system.img非常简单简单,请参考另一篇博文:。
2.利用system.img得到system.new.dat、system.patch.dat和system.transfer.list文件
这是本文的重点。
这个过程的主要目的是降低ota.zip的大小,将system.img转换成为稀疏数组描述。
我们先看看android的源代码工具是如何工作的。
在blockimgdiff.py文件中,blockimgdiff.py:BlockImageDiff::WriteTransfers()函数中,会将self.transfers中的所有xf写入transfer.list文件中。
参见如下的调用栈:
[call stack]
build/tootls/releasetools/blockimgdiff.py:BlockImageDiff::ComputePatches&BlockImageDiff::WriteTransfers
build/tootls/releasetools/blockimgdiff.py:BlockImageDiff::Compute
build/tootls/releasetools/common.py:BlockDifference::__init__
build/tootls/releasetools/ota_from_target_files:WriteFullOTAPackage
build/tootls/releasetools/ota_from_target_files:main()
/build/core/Makefile:$(INTERNAL_OTA_PACKAGE_TARGET):$(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
其实BlockImageDiff的是一个sparse_img.SparseImage对象和一个None对象。
用下面的img2sdat.py脚本就可以在当前目录下生成system.new.dat、system.transfer.list和空的system.patch.dat文件:
&/pre&&pre name=&code& class=&python&&#!/usr/bin/env python
import sys
import blockimgdiff
import sparse_img
from rangelib import *
def main(argv):
tgt = sparse_img.SparseImage(&system.img&);
bif = blockimgdiff.BlockImageDiff(tgt, None)
pute(&system&)
if __name__ == '__main__':
main(sys.argv[1:])
为了简化工作,我将上述的一些python脚本进行打包,形成一个python包文件:img2sdat.zip,并提供在文章最后提到的mkotazip工具包中。利用该包对system.img的处理就非常简单了,就是如下的命令:
$ python img2sdat.zip
这样就会在当前目录下生成system.new.dat、system.patch.dat和system.transfer.list文件。
3. 准备升级脚本文件和升级执行文件
升级执行文件由Android提供,名字是update-binary,需要放在压缩包中如下目录:META-INF/com/google/android
为了方便,我已经将该文件打包在最后提到的压缩文件中了。
另一个文件就是自己要编写修改的updater-script脚本文件了,也需要放在压缩包中和update-binary一个目录。这里提供一个hammerhead的参考:
show_progress(0.05, 0);
getprop(&ro.product.device&) ==&hammerhead& || abort(&This package is for\&hammerhead\& this is a \&& +getprop(&ro.product.device&) + &\&.&);
show_progress(0.75, 10);
block_image_update(&/dev/block/platform/msm_sdcc.1/by-name/system&,package_extract_file(&system.transfer.list&),&system.new.dat&, &system.patch.dat&);
show_progress(0.20, 2);
package_extract_file(&boot.img&,&/dev/block/platform/msm_sdcc.1/by-name/boot&);
4. 将上面准备的文件打包生成一个zip文件。
这一步非常简单,利用zip、minizip或者7zip等工具都可以实现。为了方便,在mkotazip工具中提供了一个install.sh脚本,将前面生成的那些文件放到合适的目录下,然后打包。该脚本接受一个参数,即存放ota包的目的目录。如果不指定,在当前目录下新建一个otazip目录,然后作为目标目录。
5.对该zip文件进行签名[可选]
这部分内容就不说了,网上有很多类似的文章。
总结一下上面的步骤。
1.&&&&&&下载博文中提到的工具包mkotazip.zip(下载地址参见文章最后)解压;
2.&&&&&&利用mkext4_fs工具生成system.img;
3.&&&&&&利用命令python img2sdat.zip得到system.new.dat等文件;
4.&&&&&&修改updater-script文件;
5.&&&&&&运行install.sh脚本,生成ota.zip文件。
附录:mkotazip.zip文件:
工具中包含的文件:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:42790次
排名:千里之外
原创:11篇
评论:134条手机里的umplay是什么文件,可以删除吗???谢谢了,大神帮忙啊_百度知道
手机里的umplay是什么文件,可以删除吗???谢谢了,大神帮忙啊
提问者采纳
里面还有两个文件!没影响。
播放器都御了:
我把播放器卸载了,5分奖励,我兑现诺言装了什么播放器。
追问,可不可以一起删除了呢,好像就留下了这个:
谢谢你。是空的就可以?
回答,买单咯。删吧?删除了会不会对手机有影响啊
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁永恒之塔更新以后在那找跟新的文件求大神帮助_百度知道
永恒之塔更新以后在那找跟新的文件求大神帮助
我需要知道永恒之塔更新以后更新文件所在的位置,不知道请绕道(建议不知道的人保持沉默。 知道的请来回答如题
提问者采纳
diff=fc9ffe532ba4 [Result] bin32\bin32/cryanimation.diff=d172aebd0aca310d40f965f9a779364f Pkg&#47.dll=81e8e68d76e13b813a309cedb668d614 bin32&#92.dll=0ef bin32&#92.diff=3a0b631f94dfbe276bcbc Pkg/bin32/cry3cryanimation.dll=eee453bbfed2fe7f9a35ed65e91a4c80 bin32&#92.dll=Pkg/bin32/bin32/bin32/xrenderd3d9.dll=ed2a36f4ce408dbad9392274 bin32\crysystem.diff=29c90a72dcbc47d Pkg/dataserver.dll=0bcde4d3f45be bin32&#92.dll=a5a8878cce0feae4a5a3c3 bin32\bin32&#47.bin.bin32&#92.dll.bin=Pkg&#47.diff bin32&#92.diff bin32&#92.crymovie.bin=c55e6c9ea832d17dba2eb bin32\textengine.dll=Pkg&#47.dll=1c65e5abcd78738fce110e bin32&#92.diff=dfa0f249b7bc5b0a610e5 Pkg&#47.diff bin32\bin32/game.aion.dll.dll.diff=e85baec57fa8 Pkg&#47.xrenderd3d9.cryphysics.dll=b374a0f7dbab2c559c7ee90 bin32&#92.bin32/crymovie.bin=073dce35f55c124f945ecf bin32&#92.crysystem.dll=Pkg&#47.exe=Pkg/bin32&#47.dll.dll=148f248ebe712ca74b9d7 [Diff] Pkg&#47.dll=bac5d8773ffa bin32\bin32&#47.diff=0bb66ea2bda7db341c3b3f Pkg/cryfont.dll=Pkg&#47.dll.diff=a1af79f21aa7cd6b1ceebb06725ebf2e Pkg/aion.diff bin32&#92.config.dll=6d8f339fcc bin32&#92.diff=b802ad83fc5d8c84eca045fab41f8a53 Pkg&#47.dll=Pkg/cryscriptsystem.bin=Pkg&#47.dll=Pkg/cryanimation.diff bin32\cryinput.diff bin32&#92.diff bin32&#92.dll=f1177e0dac49a9ea83de0f bin32\cryfont.dll bin32&#92.dll=48da6d8cf29c74a12b11d804cc9f423e bin32&#92.diff bin32\config.cry3dengine.dll bin32&#92.dll=Pkg&#47.xrenderd3d9;bin32/bin32&#47.diff bin32\crymovie.diff=dc1bcde5078c76dcbc651a Pkg&#47.ini=Pkg/scriptdll.bin32/xrenderd3d9;aion.diff=a515bbb9c4 Pkg&#47.exe=Pkg/bin32&#47.dll.dll=Pkg/bin32/textengine.cryanimation.dll=4bcfe649ff1 bin32&#92.crymovie.diff=0d322a08d926c75ba0f1b6f Pkg&#47.dll=a241db3c44f64fb7877ced074db5e165 bin32&#92.exe=af7bc5df42c9 bin32&#92.dll.dll=ca48c30e6f49aecedafa47fa9698cd55 bin32\game.bin32/bin32&#47.dll=Pkg/bin32/textengine.diff bin32\crysoundsystem.dll=3d8b72b8e8a655d40e313dcd9fc2364f bin32\bin32&#47.dll=Pkg&#47.dll=Pkg/bin32&#47.dll=9b1f5ef3e9297ef6fae064c bin32\xrenderd3d9;bin32/bin32/bin32/cry3dengine.dll=Pkg/sendlogclient.diff=a164c8b9604eabd Pkg&#47.aegisty.dll=11ac07d6fedc1 bin32&#92.diff bin32&#92.bin.dll.exe=23e9efef6a5be2cf62fb5e bin32\bin32\sendlogclient.dll.dll=dbc79b07ff256d25a7faf4f bin32&#92.dll=d6611bea2b28aaddca23f bin32&#92.dll=a70ddaab80b0 bin32&#92.cry3dengine.dll=7f05ad4b971f027d6f5d11 bin32\bin32&#47.dll=Pkg/bin32/cryentitysystem.diff bin32\bin32&#92.diff bin32\bin32/cryfont.exe [Patch] bin32\bin32\bin32&#47.diff=2c81185b37 Pkg/bin32&#92.ini bin32&#92这个是最近一次跟新的文件位置 [New] bin32&#92.bin bin32\bin32&#47.dll=Pkg/aion.dll.diff [Orgin] bin32\cry3dengine
提问者评价
其他类似问题
为您推荐:
其他3条回答
额 你难道是下在了C盘? 应该是你下载的时候会有安装提示··你安装在哪个盘 就在哪个盘 盘里会有一个《盛大网络》(或者是盛大游戏) 下面有个《永恒之塔》的文件夹··· 就在这下面 有安装文件 (你找下你盘里的有没有盛大网络之类的文件夹)
在C盘的Program Files里的永恒之塔文件夹里,
或许是在游戏的文件夹里
永恒之塔的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁三星7100手机里搜到的大文件,这是什么东东?能删么?求大神指点,谢谢!_百度知道
三星7100手机里搜到的大文件,这是什么东东?能删么?求大神指点,谢谢!
其他类似问题
为您推荐:
其他3条回答
你下载一个百度卫士看看那个占内存最大看看那是什么软件
就是卫士看的,看不懂
没用,删除掉吧。
好多回答,都有帮助,感动!
。。。。只是
删除后第一次加载
比较慢而已
有可能是刷机包
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求大神手机里那些文件可以删?_百度知道
求大神手机里那些文件可以删?
jpg" esrc="/zhidao/wh%3D450%2C600/sign=a20a6ebfcc/5243fbf2bcd791238dda.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><a href="http<a href="/zhidao/wh%3D450%2C600/sign=13f612ccd900baa1ba794fbfeef727bef73ed12f2eb9389418://c
我有更好的答案
假如没有root,系统的资料你删都删不掉,所以随便删
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 哪位大神给个网站你懂 的文章

 

随机推荐