Заглушка обмена сообщениями устройства Amazon! Android Studio

Я пытаюсь интегрировать Amazon Device Messaging с Android Studio. Сначала я последовал ( интеграция вашего приложения с адм). Когда я звоню

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

На logcat есть такой вывод:

E / AndroidRuntime (24472): java.lang.RuntimeException: заглушка!

E / AndroidRuntime (24472): на com.amazon.device.messaging.ADM.(Неизвестный источник)

Поэтому я последовал за Amazons ( интеграция библиотек Amazon с Android Studio) с тем же результатом.

Тогда я попробовал это и это без успеха.

Мой AndroidManifest.xml выглядит так:

...
<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>

Локальный build.gradle выглядит так:

...

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

Может у тебя есть идея?

2 ответа

Возможно, у вас есть что-то вроде этого в вашем разделе зависимостей:

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

Это означает, что вы собираете все банки в libs папку в ваше приложение. Так что, вероятно, ответ, который говорит переключатель compile в provided работает, но в дополнение к provided ты сделаешь compile для всех банок в папке libs в любом случае.

Вам нужно будет удалить fileTree линии, и включите любые банки, которые у вас есть (кроме amazon-device-messaging-1.0.1.jar) вручную.

Решение для устранения сбоя заключается в редактировании файла build.gradle (Module:app).

  1. Удалить строку: compile fileTree (include: ['.jar'], dir: 'libs') *
  2. Перейдите в папку libs и найдите все необходимые вам файлы jar
  3. Включите их один за другим для компиляции. Например, скомпилировать файлы ('libs/ePOS2.jar')
  4. Добавьте предоставленные файлы ADM JAR-файла ('libs/amazon-device-messaging-1.0.1.jar')
  5. Постройте проект
Другие вопросы по тегам