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

Android Studio 3.0.1构建时Asset文件无法找到的问题排查与解决

Android Studio 3.0.1 中 Assets 文件读取失败的问题解决

我最近碰到了一个挺闹心的问题:我的应用从Android 2.3版本开始就自带一个私有样本数据文件,之前读取它的代码一直好好的,但切换到Android Studio 3.0.1构建后,assMan.open(DB_SAMPLE)总是触发File not found错误,直接跳进异常处理分支。

读取文件的核心代码如下:

Resources res = mCtx.getResources();
AssetManager assMan = res.getAssets();
try {
    is = assMan.open(DB_SAMPLE);
    // stuff that copies to destination...
} catch (IOException e) {
    stat = false;
}

我做了一系列排查:

  • 确认assets文件夹和目标文件确实存在,路径也没问题
  • 参考同类问题的方案,删除并重建了assets文件夹,重新复制了文件(项目视图里assets直接放在main目录下,图标和res文件夹一致)
  • 测试了不同的构建版本,不管是目标SDK26还是旧版Android,这个问题都存在

一开始我还在纠结是不是要加什么特殊配置让AS识别这个文件,或者是AS的构建机制有变更,甚至怀疑是不是个Bug。

最后才发现是个低级失误!我之前一直以为Rebuild All已经包含了Clean Project的操作,所以从来没单独执行过Clean。当我手动执行Clean Project之后,assets文件夹被正常打包进APK,读取文件的代码立刻恢复正常了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:32:46