android下怎样安装系统更新包里面的.sh文件

你妹截图里的根本不是更新包好不好-那东西是因为aosp而公开的nexus设备驱动程序二进制文件-factory image在windows是用.bat文件在linux/mac才会去用到那个明文.sh文件-如果要用factory image进行更新而不丢失数据,需要三个前提:-1,设备的bootloader是unlocked的2,删除flash-all.bat/.sh文件里fastboot语句中的“-w"3,删除大个头zip文件里的userdata.img-我用这个方法完成了jdq39-jss15v-jss15y的更新------------------既然要说到Nexus的更新包问题就来了我们有两种办法:1,通过OTA更新包,OTA更新包实质上是一个差分数据包,它的下载链接不公开但也不保密,形如:http://android.clients.google.com/packages/ota/google_mako/6136cbe0fb21994b8bd463d137ac75b953ba8e9b.signed-occam-JWR66Y-from-JWR66V.6136cbe0.zip注:以上这个是Nexus4从JWR66V更新到JWR66Y的OTA升级包,可以直接通过第三方recovery,或原生的recovery以sideload的方式安装。2,通过来自https://developers.google.com/android/nexus/images 的Factory Image对于你的nexus 7.2相应的原厂镜像就是:https://dl.google.com/dl/android/aosp/razor-jss15q-factory-4f77b811.tgz还有一个页面https://developers.google.com/android/nexus/drivers注意到了,域名后面写着的是drivers,页面里写着Binaries for Nexus Devices所以你在截图里下载到的分别是这些部件的驱动程序的二进制文件Audio, SensorsNFCGraphics, Camera, GPS, Wi-Fi, Bluetooth, Sensors, Media, DRM, DSP, USB这些驱动程序被包装在一个.sh文件里,在本例里面可以理解为是一个压缩包---------------接下来是怎么用Factory image做像OTA那样保留用户数据的更新首先把Factory Image下载下来https://dl.google.com/dl/android/aosp/razor-jss15q-factory-4f77b811.tgz里面会看到几个文件android下怎样安装系统更新包里面的.sh文件

我们要做的是给flash-all.bat/sh和image-razor-jss15q.zip做手脚首先是flash-all.bat (flash-all.sh文件的修改方法相同,它是用于linux/mac系统的)android下怎样安装系统更新包里面的.sh文件

把这个“-w”去掉也就是把语句fastboot -w update image-razor-jss15q.zip改成fastboot update image-razor-jss15q.zip"-w"的意思是wipe,也就是抹除用户数据相当于factory reset再来改image-razor-jss15q.zip 【android下怎样安装系统更新包里面的.sh文件】 android下怎样安装系统更新包里面的.sh文件

这里用的是winrar直接在压缩包里删除userdata.img,并保存----------到此为止就改好了--------在搞定adb驱动的前提下,就可以直接运行flash-all.bat来进行更新了---------当时我为什么要做这么麻烦的事情呢?那时手机root了,自然就修改过/system分区的内容OTA更新会出错,无法继续如果想通过OTA的方法更新,只能先用原始的Factory image恢复系统既然这样,还不如直接用jss15y的factory image写入最新版的原始系统但我不想抹除用户数据,就尝试了这个办法,足够靠谱。
■网友
好吧,一个伪大神给我的解释是:.sh文件是linux环境下才能安装的,这个更新文件本身是google提供给开发人员(包括一些高端玩家)用的,普通玩家需要通过OTA或ROM包更新。


    推荐阅读