4

有料アプリのアプリ Android ライセンスを取得しています。このアプリでは、アプリの詳細に従って、ベース 64 の公開鍵とソルト 20 の乱数を指定しました。私のコードは次のとおりです。

次のように変数を初期化します。

  private static final String BASE64_PUBLIC_KEY = "xxxxxx";
  private static final byte[] SALT = new byte[] {xxxxxxxxxxxxxxxx};
  private LicenseChecker mChecker;
  private LicenseCheckerCallback mLicenseCheckerCallback;

oncreate() で次のようにします:

   String deviceId = Secure.getString(getContentResolver(),Secure.ANDROID_ID);
   mLicenseCheckerCallback = new MyLicenseCheckerCallback();
   mChecker = new LicenseChecker(this, (Policy) new ServerManagedPolicy(this,
                   new AESObfuscator(SALT, getPackageName(), deviceId)),
                   BASE64_PUBLIC_KEY);
   mChecker.checkAccess(mLicenseCheckerCallback);

および My license checker コールバック関数は次のようになります:

      private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
           @Override
           public void allow(int result) {
                   if (isFinishing()) {
                           return;
                   }
           }

           @Override
           public void applicationError(int errorCode) {
                   if (isFinishing()) {
                           return;
                   }
           }
           @SuppressWarnings("deprecation")
           @Override
           public void dontAllow(int result) {
                   if (isFinishing()) {
                           return;
                   }
                   showDialog(0);
           }
    }

これから apk ファイルをエクスポートし、Google Play に下書きとして保存し、Google Play でテスト アカウントとして提供されているテスト アカウントと、デバイスでも使用されている同じアカウントでテストしました。私はこのアプリを何度もテストしましたが、ダイアログが表示されるたびにライセンスがありません。何が問題ですか?助けてください..

4

1 に答える 1

2

このエラーは公開鍵が原因で、Google Play では、Base64-encoded RSA public keyGoogle アカウントから公開された新しいアプリケーションごとに異なるエラーが生成されます。apkアプリケーション用に作成する前に、そのキーを確認してください。

于 2013-03-26T09:10:40.650 に答える