在Android工程中正确编写文件路径是开发的基础,以下是关键要点:
1. 资源文件路径规范
- 布局文件:`res/layout/activity_main.xml`
- 图片资源:根据分辨率存放于`res/drawable-hdpi/`、`res/drawable-xhdpi/`等目录,推荐使用Vector Drawable减少多尺寸适配问题。
- 字符串资源:`res/values/strings.xml`,支持多语言时需创建`values-zh-rCN`等目录。
2. Java/Kotlin源码路径
- 主代码目录:`app/src/main/java/com/example/app/`,包名遵循反向域名规则。
- 测试代码:`app/src/test/`(单元测试)和`app/src/androidTest/`(仪器化测试)。
3. Gradle构建脚本
- 模块级配置:`app/build.gradle`,声明依赖、编译版本等。
- 项目级配置:`build.gradle`,管理全局插件和仓库。
4. 清单文件路径
- `app/src/main/AndroidManifest.xml`,包含应用权限、Activity声明等核心配置。
5. assets与raw目录区别
- 原始资源:`assets/`支持任意子目录结构,需通过`AssetManager`读取。
- 编译期资源:`res/raw/`会生成资源ID,适合多媒体文件。
6. 文件路径操作注意事项
- 使用`Environment.getExternalStorageDirectory()`已废弃,Android 11+应采用作用域存储(Scoped Storage)。
- 内部存储路径:`context.getFilesDir()`获取应用私有目录,无需权限。
7. 动态路径拼接技巧
- 使用`File.separator`保证跨平台路径分隔符兼容性。
- 推荐`Path`和`Paths`类(Java NIO)进行现代路径操作。
扩展知识:
ProGuard规则文件路径为`proguard-rules.pro`,用于代码混淆优化。
AAR依赖的本地路径声明示例:`implementation files('libs/mylibrary.aar')`。
多模块工程中,子模块路径通常位于项目根目录的`/submodule-name/`文件夹下。
编写路径时应避免硬编码,优先使用资源ID(如`R.string.app_name`)或系统API获取标准目录,确保代码可维护性和兼容性。