You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android项目中如何获取自定义src子文件夹的路径?

关于访问src/my_custom_folder路径的解决方案

嘿,这个问题我碰到过好几次了,先给你划个重点:默认情况下,Android构建系统不会把src/my_custom_folder这类自定义目录打包到最终的APK里,所以你没法直接通过Context的API在运行时访问它。得根据你的需求分两种情况处理:

情况1:想把该文件夹内容打包进APK并运行时访问

如果这个文件夹里的资源是应用运行时需要用到的,那你需要修改Module级别的build.gradle文件,把它添加到构建系统的资源/资产目录列表里。最灵活的方式是把它当成额外的assets目录:

android {
    sourceSets {
        main {
            // 将自定义文件夹添加到assets源目录
            assets.srcDirs += 'src/my_custom_folder'
        }
    }
}

配置完同步项目后,src/my_custom_folder里的所有文件都会被打包到APK的assets目录下。这时候你就可以用熟悉的context.getAssets()API来访问里面的文件了,比如:

// 假设自定义文件夹里有个test.txt文件
InputStream inputStream = context.getAssets().open("test.txt");

如果你更倾向于把它当作资源目录(res),也可以把assets.srcDirs换成res.srcDirs,不过资源目录有严格的命名规范,assets更适合存放结构自由的文件。

情况2:仅开发阶段使用,无需打包进APK

如果这个文件夹只是开发时的临时工作目录,不需要随APK发布,那运行时设备上根本不会存在这个目录。这种情况下,你可以:

  • 手动把文件夹里的内容复制到设备的内部存储(比如context.getFilesDir()路径下)或者外部存储;
  • 在开发阶段通过ADB命令推送文件到设备指定位置:
    adb push src/my_custom_folder/ /sdcard/your_app_folder/
    

之后就可以通过对应的存储路径访问这些文件了。

内容的提问来源于stack exchange,提问作者Alexei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:01:32