2015-04-29 11 views
2

У меня нет ни малейшего вопроса, выполняю ли я правильную реализацию LVL.
Прошу вас, руководствоваться этой проблемой.Ошибка лицензирования для Android 561. Данное приложение не имеет лицензии. Пожалуйста, приобретите его с Android Market

Я последовал за некоторыми ответами, такими как очистка кеша, удаление и повторное использование.
Все еще не повезло ..

Я пробовал следующие шаги перед загрузкой в ​​альфа-тестирование.

  1. Я использую Eclipse. Я создал хранилище ключей, используя опцию экспортного подписанного пакета приложений
  2. Загрузил APK из хранилища ключей.

Ниже мой код, который я взял из How to license my Android application?

public class Activity_LicenseCheck extends Activity { 
    private class MyLicenseCheckerCallback implements LicenseCheckerCallback{ 
    @Override 
    public void allow(int reason) { 
      toast("Inside-Allow:" + reason); 
     if (isFinishing()) { 
      // Don't update UI if Activity is finishing. 
      return; 
      } 
     startMainActivity(); 

    } 

    @Override 
    public void dontAllow(int reason) { 

      toast("dontAllow: " + reason); 
     if (isFinishing()) { 
       // Don't update UI if Activity is finishing. 
       return; 
      } 


    } 

    @Override 
    public void applicationError(int errorCode) { 
     if (isFinishing()) { 
       return; 
      } 

      toast("Errorffff: " + errorCode); 
      startMainActivity(); 

    } 

    } 
    private static final String BASE64_PUBLIC_KEY = "mykey"; 
    private static final byte[] SALT = new byte[] {11,34,56,36,3,45,-87,2,67,-98,32,-14,44,-58,39,-26,72,-19,86,23}; 
    private LicenseChecker mChecker; 

    // A handler on the UI thread. 

    private LicenseCheckerCallback mLicenseCheckerCallback; 
    private void doCheck() { 
      mChecker.checkAccess(mLicenseCheckerCallback); 
    } 

    @Override 
     public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Try to use more data here. ANDROID_ID is a single point of attack. 
    String deviceId = Secure.getString(getContentResolver(), 
      Secure.ANDROID_ID); 

    // Library calls this when it's done. 
    mLicenseCheckerCallback = new MyLicenseCheckerCallback(); 
    // Construct the LicenseChecker with a policy. 
    mChecker = new LicenseChecker(this, new ServerManagedPolicy(this, 
      new AESObfuscator(SALT, getPackageName(), deviceId)), 
      BASE64_PUBLIC_KEY); 
      doCheck(); 
     } 

    @Override 
     protected Dialog onCreateDialog(int id) { 
    // We have only one dialog. 
    return new AlertDialog.Builder(this) 
      .setTitle("Application Not Licensed") 
      .setCancelable(false) 
      .setMessage(
        "This application is not licensed. Please purchase it from Android Market") 
      .setPositiveButton("Buy App", 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, 
           int which) { 
          Intent marketIntent = new Intent(
            Intent.ACTION_VIEW, 
            Uri.parse("http://market.android.com/details?id=" 
              + getPackageName())); 
          startActivity(marketIntent); 
          finish(); 
         } 
        }) 
      .setNegativeButton("Exit", 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, 
           int which) { 
          finish(); 
         } 
        }).create(); 
     } 
     @Override 
     protected void onDestroy() { 
    super.onDestroy(); 
    mChecker.onDestroy(); 
     } 

     private void startMainActivity() { 
     startActivity(new Intent(this, Activity_login.class)); 
     finish(); 
     } 

     public void toast(String string) { 
    Toast.makeText(this, string, Toast.LENGTH_SHORT).show(); 
     } 
} 

ответ

1

Наконец он работал вопрос был неправильный ввод BASE64 ОБЩЕСТВЕННОГО KEY.I был полностью невежественны о концепции лицензирования Google должен придумать простое решение.

Как это работает для меня .. Моя первая публиковать была версия 1.0, и я получаю сообщение об ошибке 561. (не лицензирован) isuue было неправильно BASE64 PUBLIC запись KEY, то я заменил его на корректный и изменил версию приложения до 2.0 в Androidmanifest.xml и регенерированное хранилище ключей и, наконец, загрузить apk на консоль разработчика и отключить версию 1 и опубликовать версию 2 в консоли. при загрузке нового apk из консоли, все еще сталкивающейся с проблемой, приложение бросало сообщение об ошибке «Ошибка получения информации с сервера [RPC: S-7: AEC-0]». i googled и нашел решение, перезагрузил устройство, и он работал

 Смежные вопросы

  • Нет связанных вопросов^_^