2012-08-13 68 views
10

我正在尝试使用适用于Android的APK扩展文件扩展名。 我已经将APK和扩展文件一起上传到服务器。如果应用程序 先前发表我从服务器获取说NOT_LICENSED响应: 我使用的代码是: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); 
       } 
      } 
     }); 

因此,如果应用程序不是先前公布的允许方法被调用。如果应用程序先前已发布,并且现在不是调用dontAllow方法。

我曾尝试:

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

编辑: 万一别人正面临着这个问题,我收到一封邮件从谷歌的支持团队

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

回答

0

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

就像使用应用内结算一样,只有在您使用正确的发行密钥对应用程序进行签名时才能对其进行测试。否则,Google无法验证请求是否来自正确的应用。

+0

是的。我已经尝试过了。无论如何,这个问题本身就解决了,它实际上与他们的服务器有关。现在它正在无缝工作。 – hDan 2012-12-27 15:40:46

相关问题