|
|
本帖最后由 webcfo 于 2026-9-13 18:19 编辑
## 一、痛点描述
日常使用 MT 管理器整理 APK 时,经常遇到以下场景:
1. **下载目录混乱**
- 浏览器/QQ/微信下载器保存的 APK 文件名五花八门:
- `com.xxx.xxx.apk`
- `20240315.apk`
- `dsax45.apk.1`
- `base(1).apk`
- 完全看不出是哪个应用的什么版本
2. **多来源重复**
- 同一个应用从不同渠道下载,文件名各不相同
- 难以判断是否为同一版本、是否有更新
3. **手动改名耗时**
- 想统一命名为「应用名_版本号.apk」格式
- 但需要逐个打开查看,手动输入,效率极低
---
## 二、现有功能回顾
MT 的重命名功能已经很强大:
- ✅ 支持批量重命名
- ✅ 支持正则表达式替换
- ✅ 支持通配符
- ✅ 支持预览确认后再执行
但缺少「智能识别」能力——无法自动读取 APK 内部的应用名和版本号。
---
## 三、需求建议
### 核心功能
希望增加「智能重命名」模式:
1. **自动读取 APK 元数据**
- 读取 `AndroidManifest.xml` 中的 `applicationLabel`(应用名)
- 读取 `versionName` 字段(版本号)
- 可选:读取 `packageName`(包名)作为备选
2. **规范命名格式**
- 默认:`应用名_版本号.apk`
- 示例:`微信_8.0.45.apk`、`哔哩哔哩_3.3.0.apk`
3. **预览确认机制**
- 列出所有待处理文件
- 显示「原文件名 → 新文件名」对照
- 用户确认后再执行
### 高级功能(可选)
- **重复文件检测**
- 相同 MD5 的文件只保留一份
- 避免保留多份完全相同的 APK
- **自定义命名模板**
- 支持用户配置格式,如:
- `{app}_{version}.apk`(默认)
- `{packageName}_{version}.apk`
- `{app}_{version}_{date}.apk`
- **批量扫描目录**
- 递归扫描指定目录及其子目录
- 支持排除特定文件夹
---
## 四、技术可行性分析
### 已有成熟方案
Android 系统已提供原生 API:
```kotlin
val pm = context.packageManager
val pi = pm.getPackageArchiveInfo(apkPath, 0)
val appName = pm.getApplicationLabel(pi.applicationInfo).toString()
val version = pi.versionName ?: "unknown"
```
**优点:**
- 无需额外权限(READ_EXTERNAL_STORAGE 即可)
- 无需解析 APK 内部结构
- 性能良好(可并行处理)
---
## 五、预期效果
用户操作流程简化为:
1. 打开 MT 管理器
2. 进入目标目录
3. 选择一批 APK
4. 点击「智能重命名」
5. 预览确认
6. 一键完成
预计可减少 **90%** 的人工操作时间。
---
## 六、补充说明
### 兼容性
- Android 5.0+ 均可支持
- 无需 ROOT 权限
- 无需额外授权
### 性能预估
- 单 APK 解析:< 100ms
- 100 个 APK 并行处理:< 2s
- 内存占用:< 50MB
--
感谢 MT 管理器带来的便利,期待更多惊喜!
声明:此篇帖子内容由AI整理,我只提供需求。
|
|