Создание расширений для Sony SmartWatch. Установка SDK

Недавно, моя невестка подарила мне вторую версию Sony SmartWatch, кстати обзор первой версии можно прочитать здесь. Часы бесспорно удались. Чувствуется что Sony вкладывает душу в их разработку и они понимают что и для чего создавать. Поэтому пользоваться часами одно удовольствие, они стали еще лучше.

Как начинающему гику, мне стало интересно сделать для них что-нибудь свое. Я столкнулся с тем что на русском языке про разработку почти ничего не написано (или меня забанили в гугле). Что же, исправлю этот пробел, так как чем больше поддержки со стороны разработчиков приложений, тем лучше работают эти милые часики.

Первую часть уроков я начну с описания, установки и настройки SDK.

Как советует Sony, для написания собственного расширения для часов вы должны обладать минимальными навыками разработки android-приложений. Что же, у меня они и правда минимальные, так как установил eclipse я позавчера. Я пользуюсь системой Kubuntu GNU/Linux 13.10, так что скриншоты буду давать на ее примере.

Как уже стало понятно, для начала нам надо установить eclipse. Его можно установить из репозитория, но гораздо проще скачать уже собранный и готовый к запуску Android SDK, что мы и сделаем, потому что так экономиться куча времени.

Идем на сайт гугла. Качаем. Установка проста — надо просто распаковать архив в любой каталог. Я распаковал его в ~/Proj/adt-bundle-linux/. Идем в eclipse/ (когда я пишу так путь, это значит что его следует понимать от каталога установки SDK, то есть ~/Proj/adt-bundle-linux/) и запускаем там eclipse. Здесь я столкнулся с багом eclipse, который почему-то разработчики до сих пор, спустя почти полгода, не соизволили исправить. Дело в том, что eclipse падает от любого чиха, ссылаясь на сегфолт в библиотеке libgobject (страница багтрекера). Чтобы исправить это, идем в системные настройки и меняем тему GTK2 на любую, отличную от oxigen-gtk. Я поменял на Raleigh, потому что плевать вобщем-то. Это олдфажный стандартный стиль GTK 5-7 летней давности, оставил, дабы понастальгировать. Итоговый вид окна:

ksettings

После включения данного workaround все будет работать нормально, теперь можно запускать eclipse, для удобства выведите его значок куда-нибудь на панель или как вы там привыкли. Я вывел на верхнюю панель.

После запуска eclipse идем Window -> Android SDK Manager. В появившемся окне выбираем Tools -> Manage Add-on Sites. В появившемся окне выбираем вкладку User Defined Sites. Там нажимаем New и вписываем адрес http://dl-developer.sonymobile.com/sdk_manager/Sony-Add-on-SDK.xml, подтверждаем, нажав OK. Итоговый вид окна:

usersite

Теперь окошко Add-on Sites можно закрыть. В оставшемся окне Android SDK Manager в группе Android 4.1.2 должна появиться запись Sony Add-on SDK 2.0 (для краткости буду называть просто Sony SDK). Устанавливаем, закрываем. Sony еще рекомендует установить их профили виртуальных устройств, для этого в категории Extras надо выбрать Sony DeviceProfiles:

sonydevice

Это не обязательно. После установки, появятся новые профили в окне, вызываемом с помощью Window -> Android Device Profiles. Если у вас еще нет профиля — создайте его, если конечно хотите отлаживать программы в виртуальной машине а не на своем устройстве. Не забудьте установить галочку Use host GPU в окне создания виртуального устройства, иначе эффекты будут сильно тормозить.

Sony SDK установится в sdk/add-ons/addon-sony_add-on_sdk_2_0-sony-16/. Теперь необходимо подключить главные библиотеки к вашему workspace в eclipse. Если у вас еще не открыто окно Project Explorer, откройте его с помощью меню Window -> Show View -> Project Explorer:

projexplorer

 

Если вы не создавали никаких проектов, то это окно будет пустым. Чтобы подключить нужные библиотеки, щелкаем правой кнопкой в окне Project Explorer и выбираем Import… в появившемся окне в категории Andoid выбираем Existing Android Code Into Workspace. В появившемся диалоге жмем Browse… и выбираем каталог samples/SmartExtensions/SmartExtensionAPI (относительно каталога установки Sony SDK).

importapi

 

Так же поступаем с SmartExtensionUtils в том же каталоге и завершаем нажатием Finish. Эти два проект должны всегда быть подключены к вашему workspace, если вы работаете с Sony SDK. Далее необходимо сказать eclipse что данные проекты являются библиотеками.

Для этого жмем правой кнопкой вначале на SmartExtensionAPI в Project Explorer выбираем Properties. На вкладке Android надо установить галочку Is Library.

properties

Тот же порядок действий надо произвести и для проекта SmartExtensionUtils. 

Все, на этом установка Sony SDK закончена. Теперь можно подгрузить примеры из той же папки, откуда мы брали проекты библиотек. Самым интересным, наверное, будет SampleNotificationExtension.

На этом первый урок закончен, читайте документацию, изучайте примеры, а в следующих уроках я расскажу то, чему научусь в следующие дни.

0.00 avg. rating (0% score) - 0 votes
  • alex_nnov

    пост почему- то пропал. Произвел все описанные действия, SmartExtensionAPI — всё ОК, а вот SmartExtensionUtils выдавал ошибку импорта пакетов из первого. Оба выставил lib ами, Ошибка устранилась путем копирования пакетов из первого проекта во второй. Это так и надо делать? Или я что — то делаю не так.
    При импорте примеров приложений они все имеют ошибки импорта пакетов, которых (пакетов) нет в перечисленных двух.

    • Александр Сергеев

      нет, так делать не надо. надо разобраться почему проекты не видят SmartExtensionAPI(это главная либа). Покажите свойства, вкладку Android, SmartExtensionUtils к примеру.

      • alex_nnov

        Кажется разобрался, надо в свойствах проекта указывать, что он на Sony-Add-on генериться

        • Александр Сергеев

          У меня работает, даже если не выбирать Target -> Sony SDK. А вот про References верно подметили, что-то я упустил это, хотя в мануале сони написано. Исправлю.

          • alex_nnov

            Верно и без SonySDK работает. Просто пошел дальше импортировать примеры и без этого другие выдавали ошибки.