gpt4 book ai didi

安卓扩展apk问题

转载 作者:行者123 更新时间:2023-11-29 00:39:58 25 4
gpt4 key购买 nike

我们最近开始使用新的 Google Expansion APK 机制。总的来说它运作良好,但对我们来说似乎有点不稳定。一些问题:

  1. 一些用户会在下载应用程序的同时下载扩展应用程序,而其他用户则不会,我们的应用程序必须自行下载。有谁知道什么时候自动工作什么时候不工作?

  2. 有时当我们需要自己下载扩展文件时,Google Play 返回文件大小的 -1 和 URL 的 null,表示扩展文件不存在。如果我再次运行该应用程序,第二次它通常会返回有效的大小和 URL。还有其他人看到这种片状吗?

这里是代码的基础:

这就是我们如何设置调用以通过回调验证许可

    policy = new APKExpansionPolicy( context, new AESObfuscator( SALT, context.getPackageName(), deviceId ) );
mChecker = new LicenseChecker( context, policy, BASE64_PUBLIC_KEY );
mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker.checkAccess( mLicenseCheckerCallback );

然后在回调中,我们有 allow() 方法(当许可证有效时)。

    public void allow( int reason )
{
String expansionFileName = policy.getExpansionFileName( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
String expansionURL = policy.getExpansionURL( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
long expansionFileSize = policy.getExpansionFileSize( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
}

我们刚刚发布了带有这个新代码的应用程序,但是大量用户将 -1 作为 expansionFileSize 返回,将 null 作为 url。这会导致用户无法安装扩展文件。一般来说,如果他们再次运行该应用程序,它将在第二次(或第三次)运行。

有人对可能发生的事情有任何想法吗?

最佳答案

您得到 -1 是因为如果您尝试再次联系许可服务器,APKExpansionPolicy 会以本地缓存结果作为响应 - 但 URL、文件大小和文件名不会被缓存,并且在第一次真正响应后会丢失。 APKExpansionPolicy 不缓存这些结果,这里是来自 APKExpansionPolicy 源代码的评论解释它:

Expansion URL's are not committed to preferences, but are instead intended to be stored when the license response is processed by the front-end.

因此您需要在获得第一个成功响应后立即将这些值存储在首选项中(在允许回调方法中);

关于安卓扩展apk问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10034463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com