Android Studio - 如何清除资产文件夹缓存?

Android Studio - How to clear assets folder cache?

我使用 Android Studio 来管理我的 Android 代码。在项目结构中,我创建了资产文件夹,将一些表情符号保存在不同的文件夹中。

asset folder

但不知何故,当我在使用不同文件夹和表情符号的 2 个分支之间切换时,并使用如下代码加载这些文件夹中的所有图像:

public static boolean initialize(Context context) {

    if(tapEmoticonNameMap!=null)
        return true;

    tapEmoticonNameMap = new HashMap<>();
    try {
        for(String tabDir : tabStringList) {
            String[] list = context.getAssets().list(tabDir);
            if (list.length > 0) {
                ArrayList<String> pngList = new ArrayList<>();
                for(String name : list) {
                    if(name.endsWith(".png")) {
                        pngList.add(name);
                    }
                }
                tapEmoticonNameMap.put(tabDir, pngList);
            }
        }

    } catch (IOException e) {
        return false;
    }
    return true;
}

事实上,它不仅加载了那些文件夹中的每个实际图像,还包括了前一个分支中的图像。有什么解决这个问题的建议吗?在这种情况下如何删除缓存文件夹?任何帮助将不胜感激。

折腾了半天,想了一堆办法:

  • clean/rebuild项目这么多次
  • 按照如何从此 link How to clear gradle cache?
  • 清除缓存的方法
  • 再次导入项目
  • 重启电脑,再建

但是问题依旧。最终,我找到了解决这个可怕问题的方法。

解决方案是我们应该删除项目文件夹中隐藏的 .gradle 文件夹。

希望对你有所帮助,尤其是对那些和我一样面临同样问题的人。