#!/bin/bash -
#===============================================================================
#
# FILE: mock_res.sh
#
# USAGE: ./mock_res.sh
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: linkscue (scue), linkscue@gmail.com
# ORGANIZATION:
# CREATED: 2014年08月06日 20时37分46秒 CST
# REVISION: ---
#=============================================================================== # 传入参数
# $: Mock程序目录 android create project..
# $: Mock资源类型 如 style/AppMyTheme string/app_name_emm ..
android_res_mock(){
dir=$
res=$
restype=$(echo $res|awk -F'/' '{print $1}')
echo "正在处理 $res"
case $restype in
xml )
# TODO: cp
path=$dir/res/${res}.xml
mkdir -p $(dirname $path)
cp ./empty_xml.xml $path
;;
drawable )
# TODO: touch
path=$dir/res/${res}.png
mkdir -p $(dirname $path)
touch $path
;;
string )
# TODO: sed -i
path=$dir/res/values/strings.xml
mkdir -p $(dirname $path)
string_name=$(echo $res|awk -F'/' '{print $2}')
string_model=' <string name="mock_string_modol">mock_string_modol</string>'
string_model_file=/tmp/mock_string_model.txt
string_empty_file=./empty_strings.xml # TODO: 绝对路径
echo "$string_model" >$string_model_file
sed -i "s/mock_string_modol/$string_name/g" $string_model_file
test ! -e $path && cp $string_empty_file $path
grep -qF \"$string_name\" $path || sed -i " r $string_model_file" $path
rm -f $string_model_file
;;
style )
# TODO: sed -i
path=$dir/res/values/styles.xml
mkdir -p $(dirname $path)
style_name=$(echo $res|awk -F'/' '{print $2}')
style_model=' <style name="MOCK_Style_Model" parent="android:Theme.Light"></style>'
style_model_file=/tmp/mock_style_model.txt
style_empty_file=./empty_styles.xml
echo "$style_model" >$style_model_file
sed -i "s/MOCK_Style_Model/$style_name/g" $style_model_file
test ! -e $path && cp $style_empty_file $path
grep -qF \"$style_name\" $path || sed -i " r $style_model_file" $path
rm -f $style_model_file
;;
* )
err "未知资源类型,请反馈给 linskcue@gmail.com"
exit
esac
} # 调用方法
for i in $(cat ./res_list.txt); do
android_res_mock ./app $i
done

最新文章

  1. [原创]使用java批量修改文件编码(ANSI--&gt;UTF-8)
  2. UVA 1557 - Calendar Game(博弈dp)
  3. mac上xampp配置
  4. 开源sip server &amp; sip client 和开发库 一览
  5. 微软Build 2017第二天 .NET Standard 2.0 Preview 的客户端跨平台
  6. 关于form表单上传图片的一些记录
  7. springmvc 4.3,RequestParamMethodArgumentResolver无法正常解析String参数问题解决
  8. gcc编译相关tips
  9. maven插件本地化安装
  10. 精解Mat类(一):基本数据类型-固定大小的 矩阵类(Matx) 向量类(Vector)
  11. springboot自动生成mysql的DAO层代码
  12. 2019.03.28 bzoj3595: [Scoi2014]方伯伯的Oj(splay+map+set)
  13. Fedora 23+CUDA 8.0+ GTX970 安装
  14. 第六章 键盘(SYSMETS4)
  15. Java基础语法 第3节 常用软件安装-Webstorm
  16. 峰Redis学习(9)Redis 集群(概述)
  17. 如何通过命令在Ubuntu中安装PyCharm
  18. 学习记录:CONCAT()
  19. 【转载记录】Accessing Device Drivers from C#
  20. 【Cocos2d-x 3.0】游戏开发之android交叉编译

热门文章

  1. Orchard之Module升级
  2. [转]mysqldump备份还原和mysqldump导入导出语句大全详解
  3. 使用Bootstrap后,关于IE与Chrome显示字体的问题
  4. django 如何重写 HttpResponseRedirect 的响应状态码 302?
  5. SpringBoot整合Quartz定时任务 系统job Spring Boot教程 调度任务
  6. HTTP和HTTPS的区别(转)
  7. 奇怪吸引子---Arneodo
  8. 样条之EHMT插值函数
  9. QT国际化(中英转换)
  10. 升级项目到Vs2010,编译时出现:MSB6006: “LC.exe”已退出,解决方法