Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RemoveUnusedImg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pengjunjing
RemoveUnusedImg
Commits
26df1396
Commit
26df1396
authored
Mar 09, 2022
by
pengjunjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:移动到合理的目录. 更新文档
parent
94a818fc
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
11 deletions
+38
-11
README.md
README.md
+31
-3
SingleImplement.kt
...ava/com/laihua/projecthelper/implement/SingleImplement.kt
+4
-4
ParseUtil.kt
src/main/java/com/laihua/projecthelper/unuse/ParseUtil.kt
+1
-2
ReadUtil.kt
src/main/java/com/laihua/projecthelper/unuse/ReadUtil.kt
+1
-1
UnuseRes.kt
src/main/java/com/laihua/projecthelper/unuse/UnuseRes.kt
+1
-1
No files found.
README.md
View file @
26df1396
# 安卓项目辅助工具
# 安卓项目辅助工具
## 工具列表
## 工具列表
1.
删除没有被引用到的图片/xml文件
2.
将图片/xml文件移动到使用的模块
## 在项目中️以模块的形式导入,然后修改部分Java代码,以Java的形式运行即可
---
# 原理:
## 使用方式
在项目中️以模块的形式导入,找到需要使用工具的入口,然后修改部分Java代码,以Java的形式运行即可
---
## 1. 删除没有被引用到的图片/xml文件
### 使用场景:
AndroidStudio自带的移除未使用资源有bug,有时候明明有在使用确被删掉了,所以用此工具作为替代
### 入口:
UnuseRes.kt的main方法
### 原理:
1.
遍历指定目录,读取出所有的切图文件,例如png jpg webp.......
1.
遍历指定目录,读取出所有的切图文件,例如png jpg webp.......
2.
遍历出所有的代码文件
*.java *
.kt
*
.xml
2.
遍历出所有的代码文件
*.java *
.kt
*
.xml
3.
因为在代码中有使用到资源的代码,都是不会中间换行的 ,
3.
因为在代码中有使用到资源的代码,都是不会中间换行的 ,
...
@@ -14,7 +26,7 @@
...
@@ -14,7 +26,7 @@
*
对xml类型的图片资源原理也是类似的
*
对xml类型的图片资源原理也是类似的
# 使用方法
#
##
使用方法
*
首先指定要检查的目录 , 打开UnuseRes.kt ,修改要检查的模块目录,直接填写绝对路径也行,之后会对该目录递归查找
*
首先指定要检查的目录 , 打开UnuseRes.kt ,修改要检查的模块目录,直接填写绝对路径也行,之后会对该目录递归查找
*
然后运行UnuseRes.kt的main方法
*
然后运行UnuseRes.kt的main方法
*
当有xml使用了一些切图,但是并没有代码使用该xml文件,会导致该文件显示为已标记,无法删除 所以应删除xml之后再运行一次,才会删除图片. 建议多运行几次,结果都为0之后才算完成
*
当有xml使用了一些切图,但是并没有代码使用该xml文件,会导致该文件显示为已标记,无法删除 所以应删除xml之后再运行一次,才会删除图片. 建议多运行几次,结果都为0之后才算完成
...
@@ -24,3 +36,19 @@
...
@@ -24,3 +36,19 @@
*
**删除操作不可逆 , 确保在有Git的仓库上进行操作 , 或者有备份的情况下进行操作**
*
**删除操作不可逆 , 确保在有Git的仓库上进行操作 , 或者有备份的情况下进行操作**
*
**删除操作不可逆 , 确保在有Git的仓库上进行操作 , 或者有备份的情况下进行操作**
*
**删除操作不可逆 , 确保在有Git的仓库上进行操作 , 或者有备份的情况下进行操作**
*
**删除操作不可逆 , 确保在有Git的仓库上进行操作 , 或者有备份的情况下进行操作**
*
**删除操作不可逆 , 确保在有Git的仓库上进行操作 , 或者有备份的情况下进行操作**
---
## 2. 将图片/xml文件移动到使用的模块
### 使用场景:
在组件化的项目中,以APP模块为例,一般会依赖base模块,APP模块使用的部分图片或者xml资源放在base模块中,这时候一一把APP模块使用的资源从base模块找出来,并且移入APP模块下,可使用此工具进行分析
### 入口:
SingleImplement.kt的main方法
### 原理:
跟第一个工具差不多,前三步跟第一个工具一样
4.
统计此文件被哪些代码文件依赖,存到列表中
5.
对每个资源文件的依赖列表进行判断,通过路径得到所属的模块,再通过set进行去重.
6.
第五步得到的结果数量为1的说明就是被一个模块依赖了,再通过代码执行git命令,将文件移动过去
### 使用方法
跟第一个工具的使用方法差不多,图片和xml都是分开来操作的. 所以需要循环操作几次,均为0的时候才算完全完成
*
***请在有GIT跟踪的目录下进行**
*
src/main/java/com/laihua/projecthelper/implement/SingleImplement.kt
View file @
26df1396
package
com.laihua.projecthelper.implement
package
com.laihua.projecthelper.implement
import
com.laihua.projecthelper.ParseUtil
import
com.laihua.projecthelper.
unuse.
ParseUtil
import
com.laihua.projecthelper.ReadUtil
import
com.laihua.projecthelper.
unuse.
ReadUtil
import
java.io.BufferedReader
import
java.io.BufferedReader
import
java.io.File
import
java.io.File
import
java.io.InputStreamReader
import
java.io.InputStreamReader
...
@@ -32,8 +32,8 @@ fun main(args: Array<String>) {
...
@@ -32,8 +32,8 @@ fun main(args: Array<String>) {
// val baseFile = File("${projectRoot.absolutePath}")
// val baseFile = File("${projectRoot.absolutePath}")
println
(
baseFile
.
absolutePath
+
"\n"
)
println
(
baseFile
.
absolutePath
+
"\n"
)
//图片文件和xml资源分别执行
//图片文件和xml资源分别执行
//
val readImageRes = ReadUtil().readImageRes(baseFile)
val
readImageRes
=
ReadUtil
().
readImageRes
(
baseFile
)
val
readImageRes
=
ReadUtil
().
readXmlFile
(
baseFile
)
//
val readImageRes = ReadUtil().readXmlFile(baseFile)
val
readCodeFile
=
ReadUtil
().
readCodeFile
(
projectRootF
)
val
readCodeFile
=
ReadUtil
().
readCodeFile
(
projectRootF
)
...
...
src/main/java/com/laihua/projecthelper/ParseUtil.kt
→
src/main/java/com/laihua/projecthelper/
unuse/
ParseUtil.kt
View file @
26df1396
package
com.laihua.projecthelper
package
com.laihua.projecthelper
.unuse
import
java.io.File
import
java.io.File
import
java.io.FileReader
import
java.io.FileReader
import
java.util.ArrayList
/**
/**
* Author: pengjunjing
* Author: pengjunjing
...
...
src/main/java/com/laihua/projecthelper/ReadUtil.kt
→
src/main/java/com/laihua/projecthelper/
unuse/
ReadUtil.kt
View file @
26df1396
package
com.laihua.projecthelper
package
com.laihua.projecthelper
.unuse
import
java.io.File
import
java.io.File
...
...
src/main/java/com/laihua/projecthelper/UnuseRes.kt
→
src/main/java/com/laihua/projecthelper/
unuse/
UnuseRes.kt
View file @
26df1396
package
com.laihua.projecthelper
package
com.laihua.projecthelper
.unuse
import
java.io.File
import
java.io.File
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment