2012-08-13 78 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

相關問題