android 删除android应用下面未被引用到的资源



下面为我同事阿庆书写


draw

./draw.check.sh /work/project/f0400s_app/packages/f0204capps/IndividualCenter/res/ /work/project/f0400s_app/packages/f0204capps/IndividualCenter/src/com/pateo/ 


#!/bin/bash

declare -a LAYOUTS
declare -a PNGS
declare -a LAYOUT_PATHS
declare -a DRAWABLE_PATHS


SEARCH_DIR=$1
EXCLUDE_DIR=${SEARCH_DIR}/.git

SOURCE_DIR=$2
EXCLUDE_SOURCE_DIR=${SOURCE_DIR}/.git

if [[ $# -ne 2 ]]; then
	echo "$0 code_path java_path"
	exit 1
fi

cd $SEARCH_DIR
LAYOUT_PATH=$(find $SEARCH_DIR -type d -name layout)
for LAYOUT_PATH in ${LAYOUT_PATHS[@]}
do
	if [[ -z $LAYOUT_PATH ]]; then
		echo "No layout/ find"
	else
		cd $LAYOUT_PATH
		LAYOUTS=$(find . -name "*.xml" | sed -e 's#\./##')
		for LAYOUT in ${LAYOUTS[@]}
		do
			NO_POSTFIX=$(echo $LAYOUT | sed -e 's#\.xml##')
			result=$(grep -r -l -s --exclude-dir=${EXCLUDE_DIR} ${NO_POSTFIX} ${SEARCH_DIR})
			if [[ -z $result ]]; then
				echo $LAYOUT
				rm $LAYOUT_PATH/$layout
			fi
		done
	fi
done

cd $SEARCH_DIR
DRAWABLE_PATHS=$(find $SEARCH_DIR -type d -name drawable)
for DRAWABLE_PATH in ${DRAWABLE_PATHS[@]}
do
	if [[ -z $DRAWABLE_PATH ]]; then
		echo "No drawable/ found"
	else
		cd $DRAWABLE_PATH
		PNGS=$(find . -name "*.png" | sed -e 's#\./##')
		for PNG in ${PNGS[@]}
		do
			NO_POSTFIX=$(echo ${PNG} | sed -e 's#\.png##g' | sed -e 's#\.[0-9]##g')
			result=$(grep -r -l -s --exclude-dir=${EXCLUDE_DIR} ${NO_POSTFIX} ${SEARCH_DIR})
			source_ref=$(grep -r -l -s --exclude-dir=${EXCLUDE_SOURCE_DIR} ${NO_POSTFIX} ${SOURCE_DIR})
			if [[ -z $result && -z $source_ref ]]; then
				echo $PNG
				rm $DRAWABLE_PATH/$PNG
			fi
		done
	fi
done


xml

./xml_check.sh /work/project/f0400s_app/packages/f0204capps/IndividualCenter/res/ /work/project/f0400s_app/packages/f0204capps/IndividualCenter/src/com/pateo/ /work/project/f0400s_app/packages/f0204capps/IndividualCenter/res/layout/


#!/bin/bash

declare -a LAYOUTS
declare -a PNGS
declare -a LAYOUT_PATHS
declare -a DRAWABLE_PATHS


SEARCH_DIR=$1
EXCLUDE_DIR=${SEARCH_DIR}/.git

SOURCE_DIR=$2
EXCLUDE_SOURCE_DIR=${SOURCE_DIR}/.git

LAYOUT_DIR=$3
EXCLUDE_LAYOUT_DIR=${LAYOUT_DIR}/.git

if [[ $# -ne 3 ]]; then
	echo "$0 code_path java_path layout_path"
	exit 1
fi

cd $SEARCH_DIR
LAYOUT_PATHS=$(find $SEARCH_DIR -type d -name drawable)
for LAYOUT_PATH in ${LAYOUT_PATHS[@]}
do
	if [[ -z $LAYOUT_PATH ]]; then
		echo "No drawable/ find"
	else
		cd $LAYOUT_PATH
		LAYOUTS=$(find . -name "*.xml" | sed -e 's#\./##')
		cd $SOURCE_DIR
		for LAYOUT in ${LAYOUTS[@]}
		do
			NO_POSTFIX=$(echo $LAYOUT | sed -e 's#\.xml##')
			result=$(grep -r -l -s --exclude-dir=${EXCLUDE_SOURCE_DIR} ${NO_POSTFIX} ${SOURCE_DIR})
			layout_ref=$(grep -r -l -s --exclude-dir=${EXCLUDE_LAYOUT_DIR} ${NO_POSTFIX} ${LAYOUT_DIR})
			if [[ -z $result && -z $layout_ref ]]; then
				echo $LAYOUT
				rm $LAYOUT_PATH/$LAYOUT
			fi
		done
	fi
done


layout

./layout_check.sh /work/project/f0400s_app/packages/f0204capps/IndividualCenter/res/ /work/project/f0400s_app/packages/f0204capps/IndividualCenter/src/com/pateo/ 

#!/bin/bash

declare -a LAYOUTS
declare -a PNGS
declare -a LAYOUT_PATHS
declare -a DRAWABLE_PATHS


SEARCH_DIR=$1
EXCLUDE_DIR=${SEARCH_DIR}/.git

SOURCE_DIR=$2
EXCLUDE_SOURCE_DIR=${SOURCE_DIR}/.git

if [[ $# -ne 2 ]]; then
	echo "$0 code_path java_path"
	exit 1
fi

cd $SEARCH_DIR
LAYOUT_PATHS=$(find $SEARCH_DIR -type d -name layout)
for LAYOUT_PATH in ${LAYOUT_PATHS[@]}
do
	if [[ -z $LAYOUT_PATH ]]; then
		echo "No layout/ find"
	else
		cd $LAYOUT_PATH
		LAYOUTS=$(find . -name "*.xml" | sed -e 's#\./##')
		for LAYOUT in ${LAYOUTS[@]}
		do
			NO_POSTFIX=$(echo $LAYOUT | sed -e 's#\.xml##')
			result=$(grep -r -l -s --exclude-dir=${EXCLUDE_DIR} ${NO_POSTFIX} ${SEARCH_DIR})
			source_ref=$(grep -r -l -s --exclude-dir=${EXCLUDE_SOURCE_DIR} ${NO_POSTFIX} ${SOURCE_DIR})
			if [[ -z $result && -z $source_ref ]]; then
				echo $LAYOUT
				rm $LAYOUT_PATH/$LAYOUT
			fi
		done
	fi
done


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值