Go to content
Your browser is out of date. It has known security flaws and may not display all features of this websites. Learn how to update your browser[Закрыть]

Старые поделки


Разработка под Android - Часть 6: Подготовка к Android Market!


Автор: Серый череп



В этой статье мы займемся упаковкой одного из наших приложений в .apk файл и подготовкой его к Android Market. После освоения этих инструкций вы сможете без проблем средствами AndroidSDK подписывать свое приложение, заливать его на телефон, производить установку или отсылать его на Android Market. Все это будет полезным если вы решитесь создавать приложения, на которых захотите заработать. Эта часть нашего учебника будет отличаться от предыдущих, так как здесь практически не будет никакого программного кода, только инструкции.Для начала, если у вас есть намерение выпустить свои приложения на рынок для продажи другим пользователям, зарегистрируйте свой аккаунт разработчика market.android.com/publish/Home и оплатите единоразовую комиссию в $25 USD.  Таким образом, вход на Android Market доступен только тем, кто в этом действительно заинтересован. Если получение денег от продажи программ не входит в ваши цели, просто следуйте дальнейшим инструкциям и предоставляйте всем желающим возможность загрузить файл с программой на SD-карту телефона. Независимо от ваших целей необходимо установить версию приложения. Для этого в качестве примера возьмем наш проект под названием EnhancedQuotes. Необходимо открыть Android Manifest в проекте EnhancedQuotes и добавить туда немного кода.
Установка версии приложения подразумевает возможность в дальнейшем обновлять его в случае исправления багов или добавления нового функционала. После открытия Android Manifest мы изменим строку, в которой написано:Versioning an application means that we make the application able to accept updates if something breaks or we are adding more features.  Once the Android Manifest is open we are going to modify the line where it says1 <manifest xmlns:android="<http://schemas.android.com/apk/res/android>" package="com.gregjacobs.enhancedquotes" > и добавим вот эту строку:1 <android:versionCode=”1” android:versionName=”1.0” > Так что все вместе будет выглядить таким образом:1 <manifest xmlns:android="<http://schemas.android.com/apk/res/android>" package="com.gregjacobs.enhancedquotes" android:versionCode=”1” android:versionName=”1.0”> Этот код сообщает аппарату, на котором работает программа, что это версия номер 1, и что в дальнейшем она будет обновляться до более поздних версий, если такие будут выпущены. Нам необходимо добавить также minSDKVersion, так что в Android Market будет отображаться список устройств, совместимых с приложением. Для этого добавим строку:1 <uses-sdk android:minSdkVersion="3" /> под узел /application, который показан ниже. Кроме этого, хотелось бы добавить уникальную иконку, так чтобы приложение отличалось от остальных, установленных на телефоне. Я выбрал вот эту иконку

и сохранил ее в легкодоступном месте, назвав файл icon.png. Затем перетянул ее в папку drawable в res/. Eclipse спросит, действительно ли вы хотите перезаписать файл, надо ответить «да», то есть «yes».
Теперь нужно получить секретный ключ для подписки приложений. Это будет ваш личный ключ, которым можно подписывать все свои работы. Для создания такого ключа используем инструмент keytool, который находится в папке C:/Program Files/Java/jre6. Внутри папки jre6, удерживая shift, нужно кликнуть правой кнопкой мышки на папке bin и выбрать опцию Open command window here.  Далее запускаем keytool с массой команд, которые помогут в создании секретного ключа. Команда, которую нужно ввести в командное окно, имеет вид: keytool -genkey -v -keystore C:/MyKeygen.keystore -alias MyKey -keyalg RSA -keysize 2048 -validity 10000.После ввода команды можем пошагово изучить, что же означает каждый параметр в отдельности:· -genkey - инициирует начало создания пары ключей.· -v - выводит все данные процесса создания ключей на экран для пользователя.· -keystore - после этой переменной указывается название и местоположение создаваемого хранилища ключей.· -alias - обозначает более короткое название или никнейм для хранилища ключей (используется по желанию).· -keyalg - здесь указывается тип шифрования, используемый при создании ключей. Может быть RSA или DSA.· -keysize - Размер каждого генерируемого ключа. Рекомендуемая минимальная длина в 2048 бит и выше, как указано Google. По умолчанию стоит 1024 бит.· -validity - Указывает срок действия ключа в днях. Срок должен быть не менее 10000, но рекомендуется больше.После введения вышеуказанной команды и нажатия клавиши enter, предстоит ответить еще на несколько вопросов, чтобы Google по ним смог подтвердить достоверность ключа. Первый вопрос - указание пароля для ключа, его нужно будет ввести дважды для подтверждения правильности. Пароль будет скрыт при вводе, его необходимо запомнить, поскольку его придется использовать при упаковке нашего приложения. Далее последует вопрос об имени и фамилии. Затем нужно будет указать сферу вашей деятельности. Я выбрал development, поскольку мы программируем для Android. Следующий вопрос будет об организации, в которой работаете. Помните, что если вы создаете приложение не по вашей работе, а в личных целях, не нужно указывать организацию. Достаточно будет просто вашего имени. Затем нужно будет указать город проживания, штат или область в зависимости от местоположения. Введите двухзначный код страны. К примеру, для Канады это CA, для Соединенных Штатов Америки - US. Программа переспросит, правильно ли введены данные. Если да, введите yes и нажмите enter. После этого вас попросят ввести пароль для mykey, мы будем использовать такой же пароль, как и для хранилища ключей. Затем нажмите enter.

Теперь мы готовы подписать приложение и подготовить его к загрузке на Android Market. Заходим в Eclipse, в раздел Package Explorer. В нем находим EnhancedQuotes, кликаем на нем правой кнопкой мыши, переходим на Android Tools и выбираем Export Signed Application Package….  Откроется диалоговое окно, спрашивающее, какой проект вы хотите экспортировать. Нажмите здесь next, поскольку нужный нам проект уже выбран. В этом окне нужно нажать browse, чтобы определить местоположения нашего файла ключей, созданного ранее, затем вводим пароль для подтверждения и жмем next. Выберете никнейм хранилища ключей и вводим тот же пароль перед кликом на next. Теперь выбираем местоположения для APK файла, который мы собираемся создать. Я выбираю диск C. Нажимаем Finish, и APK файл будет создан в выбранной директории. 

У нас есть два варианта для публикации приложения. Первый - простая закачка файла в SD-карту телефона и загрузка инсталлятора приложения наподобие  appInstaller  с Android Market. Второй вариант - использование сайта Developer Publish. Мы пойдем первым путем, то есть используем Android Market. Зайдите в раздел публикаций на сайте Android Market, залогинтесь и нажмите на кнопку Upload Application. Нужно найти нужный APK файл через навигационное меню (кнопка browse), затем ввести данные о приложении. После заполнения полей Title (название), Description (описание), Application type and category (тип приложения и категория), выбора опций публикации и заполнения контактной информации, согласия с лицензионными условиями наконец можно нажать Publish.  После нажатия Publish приложение будет отослано в магазин, и можно смело ждать миллионного пользователя вашего приложения. Приложение, которое я отослал, можно найти в Market если в поиске ввести Quotes Viewer/Generator. Предоставленная ссылка будет работать только на аппарате Android. Можете просканировать QR-код, приведенный ниже, для более быстрого доступа.

APK файл http://gregrjacobs.com/apps/Android/EnhancedQuotes.apk

Эта серия инструкций раскрыла основы разработки в среде Android, вплоть до упаковки приложений и отправки их на Android Market. Теперь, когда азы освоены, можно приступать к освоению более продвинутых аспектов программирования под Android включая (но не ограничиваясь этим) управление/чат по Bluetooth. Я надеюсь, что все, кто читал мои советы, нашел в них что-то интересное и полезное для себя и уже ожидает продолжения.