10

Ich versuche, Amazon Device Messaging mit Android Studio zu integrieren. Zuerst folgte ich (integrating-your-app-with-adm). Als ichAmazon Device Messaging Stub! Android Studio

nennen
ADM adm = new ADM(getActivity()); 
if (adm.isSupported()) { 
    // ... 
} 

Es gibt diese Ausgabe auf logcat:

E/Android Runtime (24472): java.lang.RuntimeException: Stub!

E/Android Runtime (24472):. Bei com.amazon.device.messaging.ADM (Unknown Source)

So folgte ich Amazonen (Integrating Amazon Libraries with Android Studio) mit dem gleichen Ergebnis.

Dann versuchte ich this und this ohne Erfolg.

Mein AndroidManifest.xml sieht wie folgt aus:

... 
<uses-permission android:name="de.mypackage.permission.RECEIVE_ADM_MESSAGE" /> 
<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" /> 
<permission android:name=".permission.RECEIVE_ADM_MESSAGE" android:protectionLevel="signature" /> 
... 
<application 
    android:name=".MyPackageApplication" 
    android:allowBackup="true" 
    android:allowClearUserData="true" 
    android:hardwareAccelerated="false" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
... 
    <service android:name=".service.ADMNotificationService" android:exported="false" /> 

    <amazon:enable-feature android:name="com.amazon.device.messaging" android:required="true" /> 

    <receiver android:name=".service.ADMNotificationService$MessageAlertReceiver" 
     android:permission="com.amazon.device.messaging.permission.SEND"> 
    <intent-filter> 
      <action android:name="com.amazon.device.messaging.intent.REGISTRATION" /> 
      <action android:name="com.amazon.device.messaging.intent.RECEIVE" /> 
      <category android:name="de.mypackage"/> 
     </intent-filter> 
    </receiver> 
... 
</application> 

Die lokale build.gradle wie folgt aussieht:

... 

dependencies { 
    ... 
    provided files('libs/amazon-device-messaging-1.0.1.jar') 
    ... 
} 

Mögest du eine Idee?

+0

Führen Sie die App auf dem Kindle-Gerät? –

+0

Ja! Kindle Feuer hdx. – Kartenspieler

+0

können Sie die vollständige build.gradle-Datei oder zumindest den Abschnitt arroval/buildConfig und den Abschnitt mit den vollständigen Abhängigkeiten anhängen? –

Antwort

10

Sie haben wahrscheinlich etwas entlang dieser Linien in Ihrem Abschnitt Abhängigkeiten:

compile fileTree(include: ['*.jar'], dir: 'libs') 

Das heißt, Sie sind alle Gläser in libs Ordner in Ihre Anwendung zu kompilieren. Also wahrscheinlich die Antwort, die Schalter compile zu provided funktioniert, aber zusätzlich zu provided Sie compile für alle Gläser im Ordner libs sowieso tun.

Sie müssten die Zeile fileTree entfernen und alle vorhandenen Gläser (ausgenommen amazon-device-messaging-1.0.1.jar) manuell hinzufügen.

0

Die Lösung, um den Absturz zu beheben, besteht darin, die Datei build.gradle (Module: app) zu bearbeiten.

  1. Entfernen Sie die Zeile: filetree kompilieren (umfassen: [ ' .jar'], dir: 'libs') *
  2. Gehen Sie zur Libs Ordner und finden Sie alle JAR-Dateien benötigen Sie
  3. Fügen Sie sie eins nach dem anderen zur Kompilierung hinzu. Zum Beispiel Dateien kompilieren ('libs/ePOS2.jar')
  4. hinzufügen ADM JAR-Datei bereitgestellt Dateien ('libs/amazon-device-Messaging-1.0.1.jar')
  5. Erstellen Sie das Projekt