【问题标题】:Apk Expansion Files - Application Licensing - Developer account - NOT_LICENSED responseApk 扩展文件 - 应用程序许可 - 开发者帐户 - NOT_LICENSED 响应
【发布时间】:2012-08-09 10:28:52
【问题描述】:

我正在尝试使用适用于 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 这里它说如果你在你的 测试设备你可以设置一个特定的响应,我使用 LICENSED 作为 响应,但仍然得到 NOT_LINCESED。
  2. 重置手机,清除google play store缓存,应用 数据。
  3. 在不同的组合中更改版本号仍然不起作用。

编辑: 如果其他人遇到这个问题,我会收到来自谷歌支持团队的邮件

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

【问题讨论】:

    标签: java android


    【解决方案1】:

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

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

    【讨论】:

    • 是的。我已经试过了。无论如何,问题自行解决了,实际上与他们的服务器有关。现在它可以无缝运行了。