APK扩展文件 - 应用程序许可 - 开发人员帐户 - NOT_LICENSED响应

2022-09-03 16:17:54

我正在尝试使用适用于Android的APK扩展文件扩展名。我已将APK与扩展文件一起上传到服务器。如果应用程序以前已发布,我会从服务器收到响应,说NOT_LICENSED:我使用的代码是:

APKExpansionPolicy aep = new APKExpansionPolicy(mContext,
                new AESObfuscator(getSALT(), mContext.getPackageName(), deviceId));
aep.resetPolicy();
LicenseChecker checker = new LicenseChecker(mContext, aep,
                getPublicKey();
checker.checkAccess(new LicenseCheckerCallback() {   
            @Override
            public void allow(int reason) { 
            @Override
            public void dontAllow(int reason) {
                try
                {
                    switch (reason) {
                        case Policy.NOT_LICENSED:
mNotification.onDownloadStateChanged(IDownloaderClient.STATE_FAILED_UNLICENSED);
                            break;
                        case Policy.RETRY:
mNotification.onDownloadStateChanged(IDownloaderClient.STATE_FAILED_FETCHING_URL);
                            break;
                    }
                } finally {
                    setServiceRunning(false);
                }
            }
            @Override
            public void applicationError(int errorCode) {
                try {
mNotification.onDownloadStateChanged(IDownloaderClient.STATE_FAILED_FETCHING_URL);
                } finally {
                    setServiceRunning(false);
                }
            }
        });

因此,如果以前未发布应用程序,则调用 Allow 方法。如果应用程序以前已发布,但现在不是调用 dontAllow 方法。

我试过:

  1. http://developer.android.com/guide/google/play/licensing/setting-up.html#test-response这里说,如果您在测试设备上使用开发人员或测试帐户,则可以设置特定的响应,我使用LICED作为响应,并且仍然可以获得NOT_LINCESED。
  2. 重置手机,清除谷歌Play商店缓存,应用程序数据。
  3. 以不同的组合更改版本号仍然不起作用。

编辑:如果其他人遇到此问题,我收到了来自Google支持团队的邮件

我们知道,新创建的用于测试应用内结算和 Google 许可服务器 (LVL) 的帐号会返回错误,并正在努力解决此问题。敬请期待。同时,您可以使用在 2012 年 8 月 1 日之前创建的任何帐户进行测试。所以这似乎是他们的服务器的问题,如果我使用主开发人员线程,一切都很好。


答案 1

您是否尝试过使用也用于发布应用程序的发布密钥对应用程序进行签名?

与应用内计费一样,这只有在您使用正确的发布密钥对应用进行签名时才能进行测试。否则,Google 无法验证请求是否来自正确的应用。


答案 2

推荐