Как писать java на телефоне
JS события на мобильных устройствах
По проекту пишу обработчики событий наведения на элемент и выход за его пределы. Для этого с.
Управление на мобильных устройствах
Как сделать управление в 3D игре через касание и перемещение пальца, то есть пользователь нажимает.
KeyDown на мобильных устройствах
На мобильных устройствах keyDown работает как keyUp, когда пользователь отпускает клавишу, как.
но как по мне это уже какая-то мера извращенности программировать на смартфоне. планшет еще куда не шло, но смартфон.
хеловорлды всякие, мелкие тесты, прочья дребедень. а еще можно разрулить холивар в турпоходе. хм.. забавно
но как по мне это уже какая-то мера извращенности программировать на смартфоне. планшет еще куда не шло, но это смартфон.
хеловорлды всякие, мелкие тесты, прочья дребедень. а еще можно разрулить холивар в турпоходе. А кто мешает поставить на планшет? Я программирую на планшете (nexus 7 2012) иногда. Мелочь типа кому-то на форуме помочь. В основном помогал с паскалем, так как есть PascalGUI. Теперь есть возможность и с Java помогать
ЗЫ: когда-то на хабре (а может, и не на нём) читал о мужике, который написал программку от начала и до конца на nexus 7, но никак не могу найти. не кто, а что. отсутствие планшета мешает поставить эту ide на планшет а на моем 3.5" смартфоне это будет ужасно неудобно. ух ты, IDEшечка, заценим с чем работать умеет
телефончик 5.5" На смартах вариант однозначно никакой. Тыкать по сенсорному дисплею набирая код ужасно, только вариант планшета с клавой. Остальное извращенность имхо
Шрифт на мобильных устройствах
Весь контент написан шрифтом Comic Sans MS. С ПК заходишь на сайт начертание шрифта верно. Но с.
Убрать отступ на мобильных устройствах
Всем доброго дня! Ребята подскажите по ситуации, на телефоне и в некоторых браузерах появился.
Не работает сайт на мобильных устройствах
Добрый день, сайт перестал работать на мобильных устройствах, разработчик говорит, что это связано.
В этой серии туториалов вы познакомитесь с Java, языком программирования, используемым для разработки приложений для Android. Наша цель - подготовить тех, кто уже знаком с одним языком программирования, таким как PHP или Objective-C, которые помогут в работе с Java и окунут вас в разработку приложений для Android. В этом уроке вы получите краткое введение в основы Java, включая объектно-ориентированное программирование, наследование и многое другое. Если вы новичок в Java или просто хотите разобраться в деталях, то этот курс для вас!
Давайте начнем
Что касается предпосылок, мы предположим, что вы понимаете, как программировать (возможно, на PHP, или Visual Basic или C ++), но вы не знакомы со спецификой программирования на языке Java. Мы не собираемся учить вас программировать; мы собираемся предоставить вам четкие примеры обычно используемых конструкций и принципов языка Java, указав на некоторые советы и трюки касательно Android.
Что вам понадобится
Технически вам не нужны какие-либо инструменты для завершения этого урока, но вам наверняка понадобится для разработки приложение на Android.
Для разработки приложений для Android (или любых приложений Java, если на то пошло) вам нужна среда разработки для написания и сборки приложений. Eclipse - очень популярная среда разработки (IDE) для Java и предпочтительная среда разработки для Android. Она доступна для операционных систем Windows, Mac и Linux.
Полные инструкции по установке Eclipse (включая поддерживаемые версии) и Android SDK см. На веб-сайте разработчика Android.
Что такое Java?
Приложения для Android разрабатываются с использованием языка Java. На данный момент это действительно ваш единственный вариант для нативных приложений. Java - очень популярный язык программирования, разработанный Sun Microsystems (теперь принадлежащий Oracle). Разработанные намного позже после C и C ++, Java включает в себя многие из мощных функций этих мощных языков программирования и устраняет некоторые из их недостатков. Тем не менее, языки программирования настолько же сильны, как и их библиотеки. Эти библиотеки существуют, чтобы помочь разработчикам создавать приложения.
Некоторые из основных основных функций Java:
- Его легко изучить и понять
- Он разработан, чтобы быть независимым от платформы и безопасным, так как использует
виртуальные машины. - Он является объектно-ориентированным
Android сильно зависит от этих основополагающих принципов Java. Android SDK включает в себя множество стандартных Java-библиотек (библиотеки структуры данных, математические библиотеки, графические библиотеки, сетевые библиотеки и все остальное, что вам может понадобиться), а также специальные библиотеки Android, которые помогут вам разработать потрясающие приложения для Android.
Почему Java легко изучить?
Java легко изучить по целому ряду причин. Конечно, нет недостатка в ресурсах Java, которые помогут вам изучить язык, включая веб-сайты, учебные пособия, книги и классы. Java является одним из наиболее широко обсуждаемых, преподаваемых и используемых языков программирования на планете. Он используется для различных проектов программирования, независимо от их масштаба, от веб-приложений и настольных приложений до мобильных приложений.
Если вы исходите из традиционного программирования, такого как C или C ++, вы найдете синтаксис Java очень похожим. Если вы этого не сделаете, то успокойтесь, зная, что вы выбрали один из самых простых языков для изучения. Вы скоро начнете работать.
Наконец, Java является одним из самых читаемых человеком языков, под которым мы подразумеваем, что человек, который ничего не знает о программировании, может часто смотреть на некоторый Java-код и по крайней мере подозревать, что он делает. Рассмотрим следующий пример:
Если вы просто прочитаете код вслух, вы можете в значительной степени сказать, что этот фрагмент кода работает. Существует одна переменная, называемая символом. Если переменная символа равна букве a, мы сделаем что-то (вызовем метод doSomething (), или в другом случае (вызывая метод doSomethingElse ().
Почему важна независимость платформы?
Со многими языками программирования вам нужно использовать компилятор, чтобы уменьшить код на машинный язык, который может понять устройство. Хотя это хорошо, разные устройства используют разные машинные языки. Это означает, что вам нужно скомпилировать ваши приложения для каждого другого устройства или машинного языка, другими словами, ваш код не очень портативен. Это не относится к Java. Компиляторы Java преобразуют ваш код из человеческих читаемых исходных файлов Java в так называемый «байт-код» в мире Java. Они интерпретируются виртуальной машиной Java, которая работает так же, как физический процессор взаимодействует с машинным кодом, чтобы выполнить скомпилированный код. Хотя может показаться, что это неэффективно, было сделано много усилий, чтобы этот процесс был очень быстрым и эффективный. Эти усилия окупились в том, что производительность Java, как правило, уступает только C/C++ в общих сравнениях производительности языка.
Приложения Android запускаются на специальной виртуальной машине под названием Dalvik VM. Хотя сведения об этой виртуальной машине не важны для среднего разработчика, может быть полезно подумать о VM Dalvik как о пузыре, в котором работает ваше приложение для Android, позволяя вам не беспокоиться о том, является ли устройство Motorola Droid, HTC Evo, или новейший тостер под управлением Android. Вам все равно, пока устройство Dalvik VM дружелюбное, и это задача производителя устройства, а не ваша.
Почему Java безопасен?
Давайте рассмотрим эту мысль немного глубже. Поскольку приложения Java работают в оболочке, которая является виртуальной машиной, они изолированы от базового устройства. Таким образом, виртуальная машина может инкапсулировать, содержать и управлять выполнением кода безопасным образом по сравнению с языками, которые работают непосредственно с машинным кодом. Платформа Android делает шаг вперед. Каждое приложение для Android работает в операционной системе (на базе Linux), используя другую учетную запись пользователя и в своем собственном экземпляре Dalvik VM. Приложения Android тщательно контролируются операционной системой и закрываются, если они не работают правильно (например, используют слишком большую вычислительную мощность, становятся невосприимчивыми, ресурсы отходов и т. д.). Поэтому важно разрабатывать приложения, которые являются стабильными и отзывчивыми. Приложения могут общаться друг с другом с использованием четко определенных протоколов.
Компиляция кода
Как и многие языки, Java по-прежнему является скомпилированным языком, хотя он не компилирует весь путь до машинного кода. Это означает, что вы, разработчик, должны скомпилировать ваши проекты Android и упаковать их для развертывания на устройства. Среда разработки Eclipse (используемая с плагином для разработки Android) делает это довольно безболезненным процессом. В Eclipse автоматическая компиляция часто включается по умолчанию. Это означает, что каждый раз, когда вы сохраняете файл проекта, Eclipse перекомпилирует изменения для вашего пакета приложений. Вы сразу видите ошибки компиляции. Eclipse также интерпретирует Java по мере ввода, обеспечивая удобную окраску и форматирование кода, а также показывающие многие типы ошибок, когда вы идете. Часто вы можете щелкнуть по ошибке, и Eclipse автоматически исправит опечатку или добавит оператор импорта или предоставит вам заглушку для метода, сохраняя множество ввода.
Вы можете вручную скомпилировать свой код, если хотите. В Eclipse вы найдете настройки сборки в меню проекта. Если вы включили «Build Automatically», вы все равно можете выбрать опцию «Clean . », которая позволит вам полностью перестроить все файлы. Если «Build Automatically» отключено, включены опции «Build All» и «Build Project». «Build All» означает создание всех проектов в рабочей области. У вас может быть много проектов в рабочем пространстве Eclipse.
Процесс сборки для обычных проектов Java приводит к созданию файла с расширением JAR - Java ARchive. Приложения Android берут файлы JAR и упаковывают их для развертывания на устройствах как файлы Android PacKage с расширением .apk. Эти форматы включают не только ваш скомпилированный Java-код, но и любые другие ресурсы, такие как строки, изображения или звуковые файлы, которые требуется выполнить вашему приложению, а также файл манифеста приложения, AndroidManifest.xml. Файл манифеста Android является файлом, требуемым всеми приложениями Android, которые вы используете для определения сведений о конфигурации вашего приложения.
Что такое объектно-ориентированный язык программирования?
Отлично. Время для очень короткого и 20 000-футового просмотра объектно-ориентированного программирования (ООП). ООП - это стиль или техника программирования, которые основаны на определении структур данных, называемых объектами. Для тех, кто новичок в ООП, объект можно воспринимать так же, как пользовательский тип данных. Например, у вас может быть объект Dog, который представляет собой чертёж общей собаки, с именем, породой и полом. Затем вы можете создавать разные экземпляры объекта Dog для представления конкретных собак. Каждый объект Dog должен быть создан путем вызова его конструктора (метода, который имеет то же имя, что и сам объект, и может иметь или не иметь параметров для установки начальных значений). Например, следующие объекты Dog используют конструктор с тремя параметрами (имя, порода, пол):
Итак, где этот объект Dog определен? Ну, здесь нам нужно начать определение некоторых фундаментальных строительных блоков языка программирования Java. Класс предоставляет определение для объекта. Таким образом, есть класс Dog где-нибудь, определенный вами или в какой-то библиотеке где-нибудь. Вообще говоря, класс будет определен в собственном файле с именем файла, соответствующим имени класса (например, Dog.java). Существуют исключения из этого правила, такие как классы, определенные в других классах (когда класс объявляется внутри класса, он обычно определяется для использования в родительском классе только как вспомогательный класс и называется внутренним классом).
Класс обычно описывает данные и поведение объекта. Поведение определяется с помощью методов класса. Метод является общим термином для подпрограммы на языке ООП. Многие общие классы объектов определены в библиотеках общих классов, таких как комплекты разработки программного обеспечения (SDK), тогда как другие определяются вами, разработчиком, в ваших собственных целях. Затем программное обеспечение создается с использованием и манипулированием экземплярами объектов по-разному.
Пожалуйста, поймите, что это очень обобщенное определение ООП. На эту тему написаны целые книги. На эту тему написаны целые книги. Википедия имеет хороший обзор ООП
- Википедия имеет хороший обзор ООП
- Sun Java Tutorials на Java
- Учебники Java в Oracle
Примечание. В этом уроке мы используем много разных терминов. Существует несколько способов ссылаться на данную концепцию (например, суперкласс по сравнению с родительским классом), что сбивает с толку тех, кто новичок в объектно-ориентированном программировании. Различные разработчики используют разные термины, и поэтому мы старались упоминать синонимы там, где это необходимо. Решение о том, какие условия вы будете использовать, является личным выбором.
Понимание наследования
Вот еще одна важная концепция Java, с которой вы столкнетесь: наследование. Проще говоря, наследование означает, что классы Java (и, следовательно, объекты) могут быть организованы в иерархии с более низкими, более конкретными классами в иерархии, наследующие поведение и черты из более высоких, более общих классов.
Эта концепция лучше всего иллюстрируется примером. Давайте притворимся, что мы разрабатываем Java-приложение для имитации аквариума. В этом аквариуме есть рыба. Поэтому мы могли бы определить класс для представления рыбы. Этот класс, называемый Fish, может включать в себя некоторые поля данных (также называемые атрибутами или переменными-членами класса) для описания объекта рыбы: вида, цвета и размера; а также некоторые его поведение в виде методов (также называемых подпрограммами или функциями в процедурных языках), таких как eat (), sleep () и makeBabyFish ().
Для создания и инициализации объекта используется специальный тип метода, называемый конструктором; конструкторы называются такими же, как и их класс, имогут включать в себя параметры. Следующий класс Fish имеет два конструктора: один для создания общего объекта Fish, а другой для конструирования определенного объекта Fish с некоторыми исходными данными. Вы также увидите, что у класса Fish есть два метода eat (): один для приема чего-то случайного, а другой - для еды другой рыбы, который будет представлен другим экземпляром класса Fish:
Классы могут быть организованы в иерархии, где производный класс (или подкласс) включает все функции его родительского класса (orsuperclass), но уточняет и добавляет к ним, чтобы определить более конкретный объект, используя ключевое слово extends. Это называется наследованием.
Например, класс Fish может иметь два подкласса: FreshwaterFish и SaltwaterFish. Эти подклассы будут иметь все функции класса Fish, но могут дополнительно настроить объекты с помощью новых атрибутов и поведения или модифицированного поведения из родительского класса Fish. Например, класс FreshwaterFish может включать информацию о типе пресноводной среды, в которой они жили (например, река, озеро, пруд или лужа). Аналогично, класс SaltwaterFish может настроить метод makeBabyFish() таким образом, чтобы рыба ест своего партнера после размножения (как определено в суперклассе), используя механизм переопределения, например:
Организация поведения объекта с интерфейсами
В Java вы можете организовать поведение объектов в так называемых интерфейсах. Хотя класс определяет объект, интерфейс определяет некоторое поведение, которое может быть применено к объекту. Например, мы можем определить интерфейс Swimmer, который предоставляет набор методов, которые являются общими для всех объектов, которые могут плавать, будь то рыба, выдры или погружные андроиды. Интерфейс Swimmer может указывать четыре метода: startSwimming(), stopSwimming(), dive() и surface().
Затем класс, подобный Fish, может реализовать интерфейс Swimmer (с использованием ключевого слова реализует) и обеспечить реализацию поведения плавания:
Организация классов и интерфейсов с пакетами
Затем иерархии классов, такие как наши классы рыбы, могут быть организованы в пакеты. Пакет - это просто набор классов и интерфейсов, объединенных вместе. Разработчики используют пространства имен для уникального имени пакетов. Например, мы могли бы использовать com.mamlambo.aquarium или om.ourclient.project.subproject в качестве нашего имени пакета, чтобы отслеживать наши классы, связанные с рыбой.
Заключение
Вау! Вы только что начали курс по сбору данных в Java для разработки Android. Мы рассмотрели здесь довольно много материала, поэтому давайте немного поразмыслим, прежде чем переходить к следующему уроку этой серии уроков. В уроке 2 мы переключим внимание на подробные детали синтаксиса Java.
Вы только поцарапали поверхность Java-разработки для разработки Android. Ознакомьтесь со всеми другими замечательными учебниками на Mobiletuts +, чтобы погрузиться глубже в разработку Java и Android. Удачи!
Программирование на телефоне является долгим и сложным процессом, который не приносить столько же удовольствия и вдохновения, как при том же программировании за ПК или ноутбуком. Однако не редко бывает такое, что нет возможности взять с собой ноутбук, а задание выполнить надо или просто хочется программировать. В таких случаях может выручить телефон.Как это? Программирование на телефоне с помощью различных сервисов и ПО.
Существует множество сервисов, которые помогают программировать на чем угодно. Главное, это доступ в Интернет и дисплей со средством ввода. Одним из таких сервисов является очень популярные Ideone.
Такие онлайн сервисы позволяет без проблем скомпилировать код, который вы можете там же и написать. Выбор языков программирования, как правило, обширный и постоянно обновляется. По крайней мере добавляются новые версии языков программирования.
Также, существуют узкоспециализированные программы, такие как Java Compiler и т.д. Их можно без проблем скачать на ваш смартфон. Программирование на телефоне и заключается в таких программах и сервисах, так как делать это в терминале, как на Linux будет крайне неудобно. Одним из лучших терминалов на Android является Termux.
Зачем программировать на телефоне. Удобство и заключительный ответ.
Мое мнение такого, что программирование на смартфоне не имеет смысла, так как занимает много времени и концентрации. Это, безусловно, является возможным и может даже кому-то пригодится. Однако я считаю, что лучше учить материал, который может вам помочь в развитии, так как смартфон для этого подходить очень даже. По пути куда-то или лежа на диване, вы всегда сможете посмотреть видеокурс или прочитать книгу. Пользуйтесь гаджетами правильно, а я надеюсь, что смог дать вам ответ на это пусть и легкий, но очень популярный вопрос.
Если вы считаете, что программирование на телефоне не является чем-то неудобным, пишите об этом в комментариях. Подписывайтесь на обновления сайта, а также наш Telegram.
Распространение мобильных устройств в наше время достигло невероятных значений. Мобильный телефон есть у 2 из каждых 3 человек на планете. С помощью мобильных люди общаются, делают покупки, получают образование, играют. Это огромный рынок, который нельзя оставлять без внимания.
Однако чтобы разрабатывать приложения для мобильных платформ, нужно владеть определенным языком программирования. Swift – для iOS, Java или Kotlin – для Android. Или JavaScript – для iOS, Android и ряда других ОС!
Да-да, JavaScript везде, и на мобильных в том числе. На данный момент есть несколько известных и проверенных фреймворков для создания кроссплатформенных мобильных приложений на этом языке, например, React Native и Apache Cordova, а также основанные на ней проекты.
Для разработки на React Native требуется знание библиотеки React и основных паттернов работы с ней. Cordova же может взять обычное веб-приложение и обернуть его нужным кодом так, чтобы оно работало на мобильных ОС. Такие "гибридные" приложения не могут похвастаться высокой нативной производительностью, однако очень просты в разработке.
Cordova отлично подходит для создания простых проектов без сложной графики. Сейчас мы как раз разработаем один из них – классическое Todo App для Android на JavaScript.
Так как мы пишем приложение для Android, нам понадобится JDK (Java Development Kit) и Android SDK – среда разработки для приложений Android. А также собственно Cordova.
Установочник для нужной платформы можно найти на сайте Oracle. Выбирайте версию не выше JDK 8, с более новыми Cordova не будет работать.
Запомните, куда установился пакет, и сохраните этот путь в переменной окружения JAVA_HOME .
А также добавьте его в переменную PATH .
Android Studio
Для разработки под Android также потребуется установить Android Studio.
После установки зайдите в программу и откройте меню SDK Manager (при открытом проекте Tools -> SDK Manager).
Здесь вы найдете путь к Android SDK (Android SDK Location), сохраните его в переменную окружения ANDROID_SDK_ROOT .
Добавьте в переменную PATH каталоги tools и platform-tools :
Затем убедитесь, что установлен пакет Android SDK Build-Tools (во вкладке SDK Tools).
Создание эмулятора
Наконец, создадим эмулятор, на котором можно будет запускать приложение в процессе разработки.
Для этого зайдите в меню AVD Manager:
И создайте эмулятор с нужными параметрами.
Cordova
Осталось глобально установить npm-пакет Cordova:
Подготовительные работы закончены, пора приступать к самому интересному.
Вероятно, самый интересный вопрос – как запустить обычную веб-страницу на устройстве Android. Чтобы ответить на него, создадим пустой проект Cordova и разберемся на практике.
Создание пустого проекта
Команда для создания нового проекта Cordova:
- Первый аргумент – todo-app – это название новой папки, которую Cordova создаст в текущем каталоге.
- Второй аргумент – com.furrycat.todo – это идентификатор проекта.
- Третий аргумент – TodoApp – имя приложения.
Появилась новая папка todo-app . Перейдите в нее и запускайте все дальнейшие команды уже внутри этой директории.
Внутри находится файл config.xml , которые содержит все мета-данные, а также папка www – именно в ней и расположен код веб-приложения. Сейчас это простейшая страница – index.html – с логотипом Cordova и парой надписей, к ней подключен файл стилей и скрипт. Вы можете открыть эту страницу в браузере:
Заглянем в файл js/index.js . Здесь очень простой код: установлен слушатель события deviceready , его обработчик просто добавляет класс .ready к одному из html-элементов.
deviceready – это событие, которое вызывает сама Cordova. Нетрудно догадаться, что оно возникает после того, как устройство, на котором запущено приложение будет готово его воспроизводить. Так как мы запустили проект в обход Cordova, это событие не возникает, поэтому надпись Connecting to device не исчезает.
Добавление платформы
Укажем целевые платформы для проекта – у нас это только Android:
Сборка проекта
Команда для сборки проекта для Android-платформы:
В папке platforms/android/app появилась новая директория build . Внутри нее есть файл outputs/apk/app-debug.apk . По сути это уже рабочий apk, который можно запустить на Android-устройстве.
Загрузите его на смартфон, запустите – и вы увидите ту самую дефолтную веб-страницу. Все работает!
Как видно, надпись connecting to device сменилась на device is ready. Это значит, что кордова вызвала событие deviceready , а приложение отреагировало на нее.
Запуск на эмуляторе или устройстве
Нет необходимости вручную копировать apk на устройство при каждом изменение приложения.
Чтобы запустить проект на смартфоне, подключите его к компьютеру, разрешите отладку и запустите команду:
Кордова сама соберет проект, обнаружит устройство и запустит приложение
Можно обойтись и без реального устройства.
Запустите созданный ранее эмулятор в Android Studio:
и снова выполните команду:
На этот раз кордова найдет эмулятор и запустит проект на нем:
Теперь мы умеем запускать обычную веб-страницу как приложение на Android-устройстве.
Теперь заменим дефолтную страницу Cordova на собственное крутое Todo-приложение.
Это очень простое веб-приложение, написанное с использованием фреймворка Vue. Его исходный код находится в корне проекта в новой папке src . Сборка осуществляется с помощью webpack, собранные файлы помещаются непосредственно в папку www .
Есть возможность добавлять, редактировать, удалять дела, а также отмечать их сделанными. Чтобы при перезагрузке список дел не пропадал, все сохраняется в localStorage .
Откройте приложение в эмуляторе или на подключенном устройстве и убедитесь, что все работает:
Отладка
Запущенное на эмуляторе или реально устройстве приложение Cordova можно отлаживать через браузер Chrome.
До сих пор наше приложение использовало только функциональность веб-платформы. Однако Cordova предоставляет доступ и к возможностям мобильного устройства – через многочисленные плагины.
Для примера реализуем нативные диалоговые окна и оповещения.
Диалоговые окна
Добавим подтверждение действия при удалении задачи – модальное окно с кнопками Отменить и Удалить. В вебе мы можем использовать для этого стандартное модальное окно confirm , но его нельзя кастомизировать. Поэтому мы должны получить доступ к нативным диалоговым окнам Android.
Теперь в коде приложения нам доступ объект navigator.notification с четырьмя методами:
- navigator.notification.alert
- navigator.notification.confirm
- navigator.notification.prompt
- navigator.notification.beep
Нам нужен метод confirm :
Напоминания о делах
Еще одна очень полезная функциональность – напоминание о делах в установленное время.
Для начала добавим возможность выбрать дату и время – нам понадобится плагин skwas-cordova-plugin-datetimepicker.
Использование в коде:
А для планирования оповещений понадобится плагин cordova-plugin-local-notification.
Использование в коде проекта:
Чтобы запланировать оповещение на определенное время, используется параметр trigger.at .
Публикация проекта в Google Play
Приложение готово, осталось только собрать его для продакшена.
В директории platforms/android/app/build/outputs/apk должна появиться новая папка release, внутри которой вы найдете неподписанный apk-файл.
Чтобы выложить проект в Google Play, его нужно подписать.
Для этого нужно сгенерировать ключ:
Имя ключа – todoapp.keystore , алиас – todoapp . При создании вам нужно будет ввести пароль и ответить на ряд вопросов (или пропустить их). В результате в текущей директории появится новый файл todoapp.keystore – не потеряйте его.
Теперь скомпилируем проект с ключом:
Важно указать правильное имя ключа и алиас.
Осталось запаковать проект в новый apk. Для этого понадобится утилита zipalign (она находится в папке build-tools в Android SDK):
Этот apk-файл можно добавлять в Google Play через ваш аккаунт разработчика.
Читайте также: