过滤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同级的目录。
这段代码也可以用在其他任何需要检测出未使用/已使用文件的地方,只要将对应的目录和匹配模式修改一下就可以了,或者如果为了通用,可以将所有配置写在一个配置文件,也可以将配置作为参数传递进去。
相关文章
Android编程获取APP应用程序基本信息辅助类【APP名称、包名、图标,版本号等】
这篇文章主要介绍了Android编程获取APP应用程序基本信息辅助类,可实现针对APP名称、包名、图标,版本号等信息的获取功能,需要的朋友可以参考下2017-12-12Fragment通过FragmentManager实现通信功能详细讲解
这篇文章主要介绍了Fragment通过FragmentManager实现通信功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2023-01-01Android编程中聊天页面背景图片、标题栏由于键盘引起问题的解决方法
这篇文章主要介绍了Android编程中聊天页面背景图片、标题栏由于键盘引起问题的解决方法,针对键盘弹出时标题栏及背景图片异常的相关解决方法,具有一定参考借鉴价值,需要的朋友可以参考下2015-10-10Android布局中margin与padding的区别及说明
这篇文章主要介绍了Android布局中margin与padding的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-01-01详解React Native监听Android回退按键与程序化退出应用
这篇文章主要介绍了详解React Native监听Android回退按键与程序化退出应用的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下2017-09-09
最新评论