我的应用程序有一个包含在其中的私有类型的示例数据文件,因为该应用程序最初是为Android 2.3构建的。引用它的代码是这样的:
Resources res = mCtx.getResources();
AssetManager assMan = res.getAssets();
try {
is = assMan.open(DB_SAMPLE);
// stuff that copies to destination...
}
catch (IOException e) {
stat = false;
}
Android Studio 3.0.1构建的结果是,assMan.open方法会跳转到异常处理程序,而#34; File not found"错误。资产文件夹和文件肯定存在,并根据类似的问题删除并重新创建资产文件夹并将文件复制回其中。在项目视图窗格中,"资产"文件夹直接位于" main"并且与" res"具有相同的图标;夹。该项目现在针对SDK 26,但这种失败也发生在我尝试过的所有旧版Android上。
我是否需要做些什么来专门让我的文件被识别,或者有其他改变?或者它只是一个错误?
问题已关闭:忽略尝试做一个清洁项目,认为Rebuild All会包括这样做。资产文件夹现在位于APK中,并且一切正常。
答案 0 :(得分:1)
课程不是第一次学到的:如果有疑问,请在重建版本之前始终执行清洁项目。 "资产"文件夹返回到它所属的APK。