当前位置:  编程技术>移动开发

过滤Android工程中多余资源文件的解决方法

    来源: 互联网  发布时间:2014-10-24

    本文导语:  本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,...

本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下:

很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之。

有鉴于此,很有必要将这个检测的过程自动化!

处理这一类问题大家首先想到的应该就是shell脚本,下面是一段使用shell脚本来自动检测文件有没有用到,并实现自动删除没有用到的文件的功能:

#!/bin/sh
resfile=result.txt
#drawdir=res/layout
drawdir=res/drawable-hdpi
tmpdrawfile="tmpdraw.txt"
#clear tmp file
echo "" > $tmpdrawfile
echo "" > $resfile
ls $drawdir > $tmpdrawfile
#ls $tmpdrawfile
cat $tmpdrawfile | while read line
do
filename=`echo $line | sed 's/..*//'`
#echo $filename
#start to search
"
grepDir=./res
#grepMode=R.layout.$filename
#grepDir=./com
result=`grep -r $grepMode $grepDir`
if [ "$result" == "" ]
then
echo $line
echo $line >> $resfile
rm -f $drawdir/$line
#else
# echo "----------------"
fi
done
rm -f $tmpdrawfile

上面的代码很简单,首先将drawable(或者你可以改成任意目录)下的所有文件列出来,然后在整个目录中遍历,对每个文件检测有没有‘@drawable/$filename'这种格式的用法(你可以自己改成任意格式),如果没有使用到的话,就将文件删除。使用的时候需要将这个脚本放在跟res同级的目录。

这段代码也可以用在其他任何需要检测出未使用/已使用文件的地方,只要将对应的目录和匹配模式修改一下就可以了,或者如果为了通用,可以将所有配置写在一个配置文件,也可以将配置作为参数传递进去。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • linux中有哪些技术可以实现包过滤、内容过滤的技术?
  • wireshark抓包后查看数据报时的过滤规则/过滤语法及举例说明
  • c#正则过滤图片标签 asp.net正则过滤的例子
  • Python过滤函数filter()使用自定义函数过滤序列实例
  • Java实现的文件过滤代码分享(按后辍过滤)
  • php 过滤英文标点符号及过滤中文标点符号代码
  • mysqldump过滤 mysqlfilter
  • 新浪微博微过滤 WeiGuoLv
  • Web安全过滤 DansGuardian
  • 桌面HTTP过滤器 Privoxy
  • IP 信息包过滤系统 iptables
  • 敏感词过滤软件 网络发言防和谐器
  • 问关于过滤数据包
  • PHP中HTML标签过滤技巧
  • 敏感词过滤服务 bbspam
  • PHP的HTML内容过滤脚本 htmLawed
  • 标签过滤插件 Filtrify
  • 如何在linux进行 包过滤
  • 关于用Libpcap过滤报文
  • java/j2ee iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3