2015-11-26 2 views
2

В рамках добавления поддержки Android «Marshmallow» 6.0 в приложение для Android мы обновляем различные зависимости. Одна из них - это библиотека в виде SDK от Samsung. Текущая версия библиотеки - 2.2.2, а последняя - 2.3.0 (которая является прямым преемником 2.2.2).Как правильно обновить от Samsung Accessory SDK 2.2.2 до 2.3.0?

Version 2.3.0 имеет примечание, указывающее, что это, безусловно, один мы хотим:

Samsung Аксессуар SDK 2.3.0 (и выше) требуется для устройств на Android 6.0 (Зефир).

Итак ... время обновления! Обновление зависимостей кажется безболезненным, поскольку ошибки компиляции не возникают, а ошибка версии была незначительной (я знаю, конечно, я не могу полагаться на это, но в целом это дает «сигнал»). Кроме того, в release notes явно не выделяются какие-либо нарушения, которые, как можно было бы ожидать, были бы четко указаны, если они были.

Но ... после обновления приложение Android «компаньон» и загружаемое приложение Tizen (работающее на Gear S2 watch) больше не могут устанавливать соединение и общаться друг с другом. Возвращение к версии SDK версии 2.2.2 волшебным образом заставляет все работать снова.

Итак, что-то определенно изменилось. Фактически, есть нарушение изменение, которое явно не документировано нигде.

Мой вопрос: что это за изменения (или изменения) и как правильно обновить от Samsung Accessory SDK 2.2.2 до 2.3.0?

ответ

2

Итак, после того, как вы прочитали и просмотрели различные уголки документации и форумов корпорации Samsung, мне удалось найти отладочные изменения и решение о том, как правильно обновить приложение Accessor SDK 2.2.2 до 2.3.0.

Прежде всего, есть два раздела примечания к выпуску для Accessory SDK 2.3.0: один с 29 октября 2015 года в качестве даты выпуска и один для 3 сентября 2015 года. Я сравнивал фактические банки, составляющие SDK, и они кажутся одинаковыми, оставляя меня догадываться, что это, вероятно, только документация и/или примеры, которые были обновлены. Тем не менее ... два «релиза» с тем же управлением версиями ... C'mon Samsung!

В любом случае, второй набор примечания к выпуску упоминает об этом:

Новые умысел действия будут необходимы при инициализации Аксессуар и аксессуаров передачи файлов. Дополнительную информацию см. В руководстве по программированию.

Переход через эту «Руководства по программированию - которые, кстати, кажется, был обновлен где-то между ними двумя 2.3.0 выпусками - я заметил следующее примечание в разделе 3.3.1 (стр.19):

Примечание. Название действия изменено с 2.3.0. Для обратной совместимости старые действия будут поддерживаться непрерывно какое-то время.

Кроме того, он, кажется, принадлежит к этому фрагменту коды:

<receiver android:name="com.samsung.android.sdk.accessory.ServiceConnectionIndicationBroadcastReceiver"> 
    <intent-filter> 
     <action android:name="com.samsung.accessory.action.SERVICE_CONNECTION_REQUESTED"/> 
    </intent-filter> 
</receiver> 
<receiver android:name="com.samsung.android.sdk.accessory.RegisterUponInstallReceiver"> 
    <intent-filter> 
     <action android:name="com.samsung.accessory.action.REGISTER_AGENT"/> 
    </intent-filter> 
</receiver> 

Поскольку снова упоминает действия, я сравнил их с теми, в манифесте моего приложения, и конечно, есть разница. Мои действия для этих приемников говорят:

<action android:name="android.accessory.service.action.ACCESSORY_SERVICE_CONNECTION_IND" /> 

<action android:name="android.accessory.device.action.REGISTER_AFTER_INSTALL" /> 

После обновления действия к новым com.samsung.** те, все началось снова работает!

В заключение: заявление в примечаниях к выпуску, в котором утверждается, что «Для обратной совместимости старые действия будут поддерживаться непрерывно на некоторое время» просто не соответствует действительности. Старые действия больше не поддерживаются, что приводит к вероятности прерывания при обновлении с 2.2.2 до 2.3.0. Обновление действий для новых исправляет все.


Update: Похоже, я был не только один, чтобы прийти к такому выводу, глядя на this thread на одной из плат Samsung.

+0

Это замечательный человек! Thanx !!! – Armin

Смежные вопросы