注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

时间记录器

记录我的Linux、Android学习之路

 
 
 

日志

 
 

android 镜像合并脚本  

2011-08-18 19:34:06|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

编译完android之后,通常会在out/target/product/xxx/文件夹下生成

boot.img  recovery.img system.img  userdata.img

这4个镜像。如果想用mkmtdimg工具将这几个镜像合并成一个mtd.img,可以使用如下脚本merge.sh

#!/bin/bash
IMG_ARGS="--output tiger_mb_mtd.img"
a=$#        -----------------获取参数个数
b=0;
arg_nu=0;
help_tag=0;
help()
{
 echo -e "usage: [-b] [-r] [-s] [-u] [-h]"
 echo -e "   -b: boot.img"
 echo -e "   -r: recovery.img"
 echo -e "   -s: system.img"
 echo -e "   -u: userdata.img"
 echo -e "   -h: help"
 echo -e "example:"
 echo -e "       $ $0 -brsu"   -----------------$0,获取当前文件名./xxx
 echo -e " OR $ $0 -b -r -s -u"
 echo -e " OR $ $0 -br -su"
}
echo -e "MAKE IMAGE FOR :\x1b[1;31m${TARGET_PRODUCT}\x1b[0m"

while [ ${a} != "0" ]; do
 c=$1    -----------------获取第一个参数字符串
 b=${#c}   -----------------计算第一个参数字符串中包含字符的个数,并赋给一个变量
 cnt=${#c}
 while [ ${cnt} != "0" ];do
  tag=${c:${cnt}:1}   -----------------取第一个参数字符串的第cnt个字符,并赋给tag
  case ${tag} in
   b)IMG_ARGS=${IMG_ARGS}" --boot ${ANDROID_PRODUCT_OUT}/boot.img";; -----------------添加字符串到原字符串后面
   r)IMG_ARGS=${IMG_ARGS}" --recovery ${ANDROID_PRODUCT_OUT}/recovery.img";; -----------------也就是字符串拼接
   s)IMG_ARGS=${IMG_ARGS}" --system ${ANDROID_PRODUCT_OUT}/system.img";;
   u)IMG_ARGS=${IMG_ARGS}" --userdata ${ANDROID_PRODUCT_OUT}/userdata.img";;
   h)help_tag=1;;
  esac
  let "cnt=cnt-1"   -----------------shell中变量的数学运算
 done
 shift     -----------------讲缓冲区中的参数字符串左移一个,

            -----------------即删除第一个参数字符串,第二个参数字符串成为新的第一个参数字符串
 a=$#   -----------------重新获取参数个数(因为第一个已经删了,所以这边其实是一个减1的动作)
done
if [ ${b} = "0" ];then
IMG_ARGS=${IMG_ARGS}" --boot ${ANDROID_PRODUCT_OUT}/boot.img --recovery ${ANDROID_PRODUCT_OUT}/recovery.img --system ${ANDROID_PRODUCT_OUT}/system.img --userdata ${ANDROID_PRODUCT_OUT}/userdata.img"
fi
if [ ${help_tag} = "0" ];then
 echo -e "[\x1b[1;33mMerge\x1b[0m] \x1b[1;31mImage\x1b[0m"
 ./out/host/linux-x86/bin/mkmtdimg ${IMG_ARGS}
 echo -e "[\x1b[1;33mMerge\x1b[0m] \x1b[1;31mImage Done!\x1b[0m"
else
 help;
fi

  评论这张
 
阅读(634)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017