当前位置: 首页 > 知识库问答 >
问题:

删除的APK扩展文件仍然NO_DOWNLOAD_REQUIRED

子车凌龙
2023-03-14

[更新]

我正在实现APK扩展文件支持(但没有XAPK ZIP库支持)。

文档表明,如果所需的APK扩展文件丢失(例如从obb文件夹中删除),我的应用程序将重新下载该文件。这种事不会发生在我身上;我的应用一直说不需要下载。似乎Google Play Downloader库从其SQLite数据库下载的信息为空。请注意,我还没有在Google Play上更新APK草案和扩展文件——它们仍然是第一个版本。此外,上传到Google Play的APK版本代码也与测试设备上的版本代码相同。

详情如下:

  1. 在正确的文件夹(obb)中有一个APK扩展文件。在我真正开始实现downloader功能之前,我使用它进行测试

我刚刚在SO上读到上传到Google Play的APK扩展文件需要几个小时才能生效。在我的例子中,我在上传后立即测试了我的实现。但它一定注意到Google Play上有文件,因为它没有“找不到资源”,而是给出了不同的信息(“下载完成”)。糟糕的是,它实际上没有下载任何东西;从那以后,它甚至没有尝试下载(它一直返回NO_DOWNLOAD_REQUIRED)。

我错过了什么?

如果APKExpansion文件被删除,Downloader库难道不应该注意到吗?它的实现似乎可以解决这个问题,但前提是SQLite数据库查询返回可下载文件的非空。

Google Play Downloader库内部实现的相关部分(最后一条评论是我的):

    int status = NO_DOWNLOAD_REQUIRED;

    // the database automatically reads the metadata for version code
    // and download status when the instance is created
    DownloadsDB db = DownloadsDB.getDB(context);

    // we need to update the LVL check and get a successful status to
    // proceed
    if (isLVLCheckRequired(db, pi)) {
        status = LVL_CHECK_REQUIRED;
    }
    // we don't have to update LVL. do we still have a download to start?
    if (db.mStatus == 0) {
        DownloadInfo[] infos = db.getDownloads();
        if (null != infos) {
            for (DownloadInfo info : infos) {
                if (!Helpers.doesFileExist(context, info.mFileName, info.mTotalBytes, true)) {
                    status = DOWNLOAD_REQUIRED;
                    db.updateStatus(-1);
                    break;
                }
            }
        }            
        /// <----- This is when infos==null, in this case result will be NO_DOWNLOAD_REQUIRED

    } else {
        status = DOWNLOAD_REQUIRED;
    }

共有1个答案

张光辉
2023-03-14

如果遇到相同的问题,请卸载该应用程序,然后重新安装。(不要让Eclipse以通常的方式重新安装它。手动从设备上完全卸载它。)

 类似资料:
  • 问题内容: 给定一个文件名,例如: 我想删除扩展名(如果存在)。我怎样用Java做这个?谢谢! 问题答案: 就像是 索引检查可避免将“ ” 等隐藏文件转换为“”,并避免使用诸如的名称。

  • 问题内容: (不包括任何外部库。) 在不假定任何文件名的情况下,删除Java中文件名扩展名的最有效方法是什么? 一些例子和预期结果: 文件夹>文件夹 hello.txt>你好 read.me>阅读 hello.bkp.txt> hello.bkp 怪异..名称>怪异。 .hidden> .hidden (或者应该只 隐藏 最后一个?) 编辑 :原始问题假定输入是文件名(而不是文件路径)。由于一些答

  • 问题内容: 我有许多扩展名为.txt的文件。如何删除Linux中多个文件的.txt扩展名? 我找到 替代扩展 我也想对子文件夹中的文件执行此操作。 问题答案: 有点危险,因为根据其手册页: 重命名将通过替换第 一次 出现的… 来重命名指定的文件。 像这样的文件名会很乐意做错事。 这是使用和的解决方案: 请记住,如果文件名包含换行符(罕见,但并非不可能),这将中断。 如果您有GNU查找,这是一个更可

  • 我有一个非常简单的功能: 该文件在执行后显示不可读,并从文件目录中消失。但是,当从浏览器访问时,它仍然可用,尽管没有缓存(在不同的浏览器上打开文件进行测试)。我是不是错过了什么?文件是否被服务器缓存?这是我能想到的唯一解释。

  • 问题内容: 假设我有一个删除扩展名的方法,我需要两个变量的结果,一个是域名,另一个是扩展名。 我尝试过但不起作用,我猜只能用正则表达式.... 问题答案: 这将产生以下数组

  • 我一直在尝试让nginx在没有. php或. html扩展的情况下工作,我需要一点帮助。提前感谢您的时间! 我尝试了在如何使用NGINX从url中删除. php和. html扩展中找到的解决方案?但是没有效果 这是我当前的nginx配置。这是几个教程的组合,但它是有效的。