1 ...6 7 8 10 11 12 ...21 Папка dexedLibs – конвертированные в DEX-формат виртуальной машины Dalvik дополнительные библиотеки.
Папка res – ресурсы приложения.
Файл манифеста AndroidManifest. xml.
Бинарный файл resources.arsc строк приложения.
Файл classes.dex – конвертированные в DEX-формат виртуальной машины Dalvik Java класс-файлы.
APK-файл – ZIP-архив Android-приложения для инсталляции в отладочном режиме, содержащий папку META-INF с Java-манифестом MANIFEST. MF и сертификатами, папку res с ресурсами, файл манифеста AndroidManifest. xml, файл resources.arsc и файл classes.dex.
Подготовка к публикации Android-приложения
Среда выполнения Android при инсталляции приложений требует, чтобы все Android-приложения были подписаны цифровой подписью с помощью сертификата, закрытый ключ которого имеется в распоряжении разработчиков приложений. Однако в отладочном режиме инструменты сборки приложения набора Android SDK автоматически подписывают приложение специальным отладочным ключом, который генерируется и по умолчанию хранится в файле debug.keystore каталога [user]\.android. По умолчанию отладочный сертификат имеет срок действия 365 дней и по истечении этого периода необходимо удалить файл debug.keystore для повторной автоматической генерации сертификата.
Для того чтобы подготовить Android-приложение к реальной инсталляции в Android-устройстве, так как среда выполнения Android не позволит инсталлировать приложение, подписанное отладочным ключом, можно воспользоваться командой Android Tools | Export Signed Application Packageконтекстного меню окна Package Explorer – в результате откроется мастер Export Android Application, в поле Project:которого будет отображено имя Android-проекта и в окне которого надо нажать кнопку Next.
Далее необходимо создать хранилище своего закрытого ключа, которым будут подписываться все версии данного Android-приложения. Важно использовать один постоянный ключ для одного Android-приложения, так как Android-система позволит обновление приложения только в том случае, если сертификаты старой и новой версии будут совпадать – иначе придется изменять имя пакета приложения, и новая версия будет уже устанавливаться как новое приложение. Кроме того, если приложение имеет модульную структуру и все модули подписаны одним сертификатом, тогда все модули будут запускаться в одном процессе, и смогут обновляться независимо друг от друга.
Для создания хранилища закрытого ключа в окне Export Android Applicationвыберем переключатель Create new keystore, в поле Location:введем путь файла хранилища, в полях Password:и Confirm:введем пароль хранилища и нажмем кнопку Next.
Примечание
Для поля Location:необязательно использовать кнопку Browse – можно вручную ввести путь несуществующего файла, например, C:\Users\user\my_keystore, где файл my_keystore будет сгенерирован.
В поле Alias:введем имя ключа, в полях Password:и Confirm:введем пароль ключа, в поле Validity (years):введем срок действия сертификата более 25 лет, в поле First and Last Name:введем имя разработчика и нажмем кнопку Next, в поле Destination APK file:введем путь APK-файла Android-приложения и нажмем кнопку Finish.
В результате будет создан подписанный и готовый к публикации файл приложения, обработанный при этом оптимизирующим инструментом zipalign набора SDK Tools.
Сгенерированная мастером Android Projectоснова Android-проекта Blank Activity в узле srcокна Package Explorerсодержит файл исходного кода Activity-компонента, в котором его класс, расширяющий класс android.app.Activity, переопределяет метод onCreate ().
Данный метод является одним из методов обратного вызова Activity-компонента, которые среда выполнения Android вызывает при переходе Activity-компонента между различными состояниями его жизненного цикла. Переопределение метода onCreate () является важным, так как он вызывается при запуске Activity-компонента и предназначен для инициализации GUI-интерфейса.
Помимо метода onCreate () класс android.app.Activity предоставляет следующие методы обратного вызова для их переопределения:
onRestart – метод жизненного цикла, вызывается после того как Activity-компонент был остановлен, перед вызовом метода onStart.
onStart – метод жизненного цикла, вызывается, когда Activity-компонент становится видимым.
onResume – метод жизненного цикла, вызывается, когда Activity-компонент помещается на передний план для взаимодействия с пользователем.
Читать дальше
Конец ознакомительного отрывка
Купить книгу