Искал способ как запаковать свой собственый проект на python в apk файл, без помощи пк и вот наконец- таки такая возможность появилась. Об этом собственно и поговорим в данной статье.
содержание:
вступление
1.что для этого необходимо. Подготавливаем проект.
2.Структура проекта. Пакуем наше приложение в apk файл.
Положение дел.
Благодаря стараниям отечественных и зарубежных разработчиков, на андроиде появилась возможность писать и собирать свои проекты на java прямо на смартфоне. Все это благодаря интегрированной среде разработки. В небольшой срок появились и начали активно развиваться несколько интересных проектов. Коротко расскажу о двух из них. Первым привлекшим мое внимание стал проект anjedi. В отличии от предыдущих попыток в данной програме был реализован удобный интерфейс, навигация по проекту и все необходимые инструменты для быстрой запаковки и тестирования собранного приложения. Позднее случайно наткнулся на aide в маркете. Данная ide отличалась двухоконным интерфейсом, автодополнением и лог ошибок. Так как в свободное время писал на питоне используя sl4a мне стало интересно возможно ли собрать собственный проект на смартфоне. Стал копать в этом направлении.
Как вообще собрать приложение написанное на python для андроида ? На официальном сайте описывается способ запаковки. Качаем шаблон программы, в Eclipse создаем новый проект из готового исходника открываем скрипт и заменяем его содержание своим кодом. Собираем проект, получаем готовый апк, переносим на смартфон любым способом, устанавливаем, запускаем и наблюдаем работу приложения(не зыбываем установить питон и компоненты).
В первых версиях anjedi не было возможности паковать сторонние проекты не созданные в самой программе. Такая поддержка появилась недавно. Тогда то я и начал от версии к версии тестировать на предмет сборки шаблона на питоне. Однако никак не получалось скомпилировать. На 40% сборки приложение зависает а через несколько минут закрывается с ошибкой. Пока что с помощью anjedi не палучается собрать, по крайней мере у меня. Отписал разрабу может в дельнейшем поправят.
В последней версии aide 1.0 beta9 так же появилась возможность собирать проекты со стандартной структурой. Первым делом попробовал собрать шаблон и вот все получилось.
что нам понадобится
-Для начала установим sl4a и python. Этот пункт я описывал в своей статье -
-далее установим aide. Начиная с версии 1.0 beta9 поддерживается запаковка любых проектов для андроид.
-файловый менеджер. Я использую Total comander и root explorer.
-текстовый редактор. Встроенный в aide редактор тормозит при открытии больших файлов, поэтому предлогаю пользоваться сторонним. Посоветовать могу 920 text editor . Автоопределение кодировок, шустрый, удобный редактор с подсветкой синтаксиса.
когда все установлено можно приступать к работе. Для начала напишем к примеру простенькую программу на питон используя sl4a. После того скачаем шаблон для упаковки нашего будущего проекта. распакуем архив и папку с исходниками положим по пути sdcard/AppProjects/ .В этой папке по умолчанию располагаются проекты для работы с ними в нашей ide. Рассмотрим структуру проекта подробнее.
Программа содержит все необходимое для работы питон скрипта. Дополнительные библиотеки, описание элементов интерфейса в xml, java код . Остановлюсь на том что пригодится нам.
скриншот
папка res : в тут располагаются ресурсы программы, иконка и логотип проекта, сам питон скрипт, xml с описанием некоторых элементов интерфейса. В корне папки располагаются 4 папки.
скриншот
1. drawable/
скриншот
-icon.png - иконка программы которая будет отображаться в меню. можно заменить на свою.
-script_logo_48.png - логотип программы. Будет отображаться в статус баре когда программа запущена. так же можно заменить на свой.
-stat_sys_warning.png - иконка отображающаяся в статус-баре если во время работы программы возникла ошибка (код ошибки отображается рядом в строке).
2. layout/
скриншот
- dialog.xml - в этом файле описывается вид строки в статус-баре появляющейся при запуске программы. Тут мы ничего трогать не будем.
- main.xml - содержание строки в статус баре. Тут тоже трогать ничего не будем.
3. raw/
скриншот
-script.py - рабочий скрипт нашего приложения. В нем содержится весь исходный код питон части нашего приложения. Заменим имеющийся в скрипте код на свой.
4. values/
скриншот
-strings.xml - тут нас интересуют две строки .
тут пишем название нашего приложения которое будет отображаться в списке установленных приложений
пишем текст который будет отображаться в статус баре при загрузке приложения
с данной папкой разобрались идем дальше. Возвращаемся в корневой каталог.
скриншот
SRC/ тут располагается java часть программы. Взглянем на путь по которому лежат файлы - com/dummy/foofoandroid/ - этот путь и есть название пакета нашего проекта - com.dummy.fooforandroid. То есть если мы запакуем два разных проекта с одним и тем же названием то программы будут устанавливаться друг на друга заменяя собой предыдущую версию. Поэтому нам необходимо будет переименовать эти папки и заменить несколько строк в .java файлах. Переименуем например в com.test.app. откроем последнюю папку, в ней лежат 5 файлов, их мы слегка и будем редактировать. Откроем dialogactivity.java в любом текстовом редакторе, смотрим первую строчку - package com.dummy.fooforandroid; меняем выделенное на com.test.app. сохраняем и закрываем файл. То же самое делаем и с остальными четыремя файлами. Т.е меняем название пакета на свое.
сохраняем все и возвращаемся обратно в корневой каталог. находим там файл androidmanifest.xml, в нем так же меняем название. Собственно и все, можно собирать проект.
скриншот
Сборка проекта
скриншот
запускаем ide. В панеле файлов видим папку с нашим проектом, нам нужно открыть проект . для этого необходимо открыть любой файл. Например манифест. появится окно уведомления о том что наш проект открыт. Нажимаем клавишу меню в нем выбираем пункт "run" . Начнется компиляция и сборка. По завершению которой программа установится на телефон и мы можем запустить ее, проверить работу. Готовый апк файл располагается по пути папка с нашим проектом/bin/ . Вот о чем хотел собственно рассказать в данной статье. Спасибо за внимание, успехов вам в ваших начинаниях.
Здравсвуйте, спасибо за инструкцию, но ссылка на шаблон битая. Можно обновить?
0 ответить