Android In-App-Abrechnung SecurityException "Binder-Aufruf an eine falsche Schnittstelle"

8

Ich versuche, die Google In App Billing Dienste zu funktionieren.

Ich bin soweit, dass der Dienst gebunden und verbunden ist, aber sobald ich versuche, einige Daten vom Dienst zu holen, stürzt es mit dem Protokoll ab: %pr_e%

Das ist mein Code bisher:

Die Aktivität, die die Einkäufe anzeigt:

%Vor%

Der IAB ruft an, sobald der Dienst eine Verbindung hergestellt hat:

%Vor%

Es schlägt in der letzten Zeile ...getSkuDetails(... mit dem oben angegebenen Fehler fehl.

Ich habe etwas zu diesem Thema recherchiert und festgestellt, dass es möglicherweise auf falsche Paketnamen zurückzuführen ist. Ich habe die IInAppBillingService.aidl wie in der Dokumentation von Google beschrieben eingefügt, bekomme aber immer noch ein falsches Paket beim Import:

Die Datei befindet sich unter: src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl

Aber wenn ich die generierte Klasse importiere, verwendet Android Studio diesen Importpfad:

%Vor%

Laut Dokumentation sollte das eigentlich so aussehen:

%Vor%

Ist immer noch etwas mit meiner Projekteinrichtung nicht in Ordnung oder kennt jemand die Ursache für diesen Fehler?

Vielen Dank im Voraus, McFarlane

    
McFarlane 02.04.2014, 08:55
quelle

3 Antworten

19

Ich hatte das selbe Problem und ich fand heraus, dass die aidl-Datei im com.android.vending.billing -Paket im src-Ordner sein muss, aber Sie fügen das in src/main/aidl/com/android/vending/billing ein, was nicht korrekt ist.

    
mizdler 09.04.2014 23:32
quelle
0

Ich hatte auch das gleiche Problem. Ich folge diesen Schritten von Ссылка

Kopieren Sie die Datei IInAppBillingService.aidl in Ihr Projekt.

  

Wenn Sie Android Studio verwenden, führen Sie die folgenden Schritte aus, um die Datei zu kopieren   Datei:           Navigieren Sie im Projektfenster zu src / main.           Wählen Sie Datei & gt; Neu & gt; Verzeichnis, geben Sie aidl im Fenster Neues Verzeichnis ein und wählen Sie OK.           Wählen Sie Datei & gt; Neu & gt; Package, geben Sie com.android.vending.billing im Fenster Neues Paket ein und wählen Sie OK.           Navigieren Sie mit Ihrem Betriebssystem-Datei-Explorer zu & lt; sdk & gt; / extras / google / play_billing /, kopieren Sie die   IInAppBillingService.aidl Datei, und fügen Sie es in die   com.android.vending.billing-Paket in Ihrem Projekt.

Ich erstelle aidl-Ordner und dann in diesem Ordner das Paket com.android.vending.billing, und mein Import ist immer noch import billing.IInAppBillingService; Ich versuche, ein Paket in src hinzuzufügen, aber IInAppBillingService.java wird nicht generiert.

    
Dawid Macura 02.12.2016 19:01
quelle
0

Ich hatte dieses Problem aufgrund der Verwendung von In App Billing v2 und dachte, es sei die v3-Version. Hoppla:)

    
RelativeGames 06.11.2017 21:49
quelle