Заглушка обмена сообщениями устройства 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).
- Удалить строку: compile fileTree (include: ['.jar'], dir: 'libs') *
- Перейдите в папку libs и найдите все необходимые вам файлы jar
- Включите их один за другим для компиляции. Например, скомпилировать файлы ('libs/ePOS2.jar')
- Добавьте предоставленные файлы ADM JAR-файла ('libs/amazon-device-messaging-1.0.1.jar')
- Постройте проект