2012-10-27 13 views
5

folgte ich nur die Standard-Android-Lizenz Verfahren überprüft, und ich kürzlich diese Berichte:Fehlerbericht vom Lizenzprüfer - was bedeutet das?

java.lang.NullPointerException 
at com.google.android.vending.licensing.LicenseValidator.verify(LicenseValidator.java:99) 
at com.google.android.vending.licensing.LicenseChecker$ResultListener$2.run(LicenseChecker.java:228) 
at android.os.Handler.handleCallback(Handler.java:605) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.os.HandlerThread.run(HandlerThread.java:60) 

Was könnte das bedeuten? Ist das normal ? Ich habe das nie zuvor bekommen. Da die betreffende App immer beliebter wird - könnte dies ein Hinweis darauf sein, dass jemand versucht hat, die App irgendwie zu knacken, um zu vermeiden, dass sie bezahlt?

Vielen Dank für Ihre Einsichten!

Antwort

13

Diese Ausnahme tritt normalerweise auf, wenn auf dem Gerät die Google Play App nicht installiert ist oder kein Konto im Standard registriert ist. Man könnte diese Ausnahme bekommen, wenn sie die alte Google Market-Anwendung haben.

können Sie prüfen, das Problem auch hier: http://code.google.com/p/android/issues/detail?id=26722

+1

Problemumgehung zu vermeiden Dump? Eine Möglichkeit, dies zu erkennen und eine Nachricht anzuzeigen? – powder366

+0

Gerade versucht, alle Konten zu entfernen, aber diesen Fehler nicht aufgetreten, die App denkt immer noch, dass es die Lizenz hat. Auch wenn Google Play nicht auf dem Telefon installiert wurde, wurde diese Ausnahme an die Google Play-Entwicklerkonsole zurückgegeben. – petrsyn

6

Ich weiß, dass dies eine alte Frage, aber ich hatte diesen Fehler NPE auf ein paar Testgeräte und hinzugefügt, um diese schnelle Lösung:

AccountManager am = AccountManager.get(context); 
    int numAccounts = am.getAccountsByType("com.google").length; 

    if(numAccounts == 0) { 
     noAccountDialog(); 
    } else { 
     // Do the license check as you have an account 
    } 

Sie benötigen die Berechtigung GET_ACCOUNTS in AndroidManifest.xml

+0

Hmmm, AccountManager kann nicht aufgelöst werden. Import android.accounts.AccountManager kann auch nicht aufgelöst werden. Was ist der Trick, um das zu schaffen? –

+0

Vergiss es, hab es. Anscheinend wurde das in API Level 5 hinzugefügt und ich arbeite an einer API Level 4 App ... "Es ist nie einfach" :-) –

+0

Leute neigen dazu auszuflippen, wenn sie die GET_ACCOUNTS Erlaubnis sehen. Es wird im Wesentlichen als "Anwendung kann alle Ihre Konto und persönliche Informationen lesen" dargestellt. Für mich leider keine Option. – ShellDude