категории | RSS

Итак, краткое руководство о том, что и как сделать, чтобы таки собрать из .py скрипта .sis пакет для 9! версии наших любимых зверьков. Все по порядку, как делал я.

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

Сразу предупрежу, что все странички (которые упоминаю в этой статье) есть в папке docs (с такими же именами, но с расширением .mht)!
Все упомянутые программы вы можете скачать одним архивом (ссылки внизу).
То есть, если вы скачаете этот архив, и где-то по тексту руководства встретите название файла или программы, то они будут в этом архиве!!! (Т.е. больше ничего качать будет не нужно.)

Сначала я прочел и разобрался вот с этим: https://www.nbl.fi/~nbl928/ensymble.html (если хотите, то далее можете тоже сами разобраться).

Если не хотите, то:
1. Качаем все необходимое:
а. Python-2.4.3 (https://python.org/)
б. ensymble_python2.4-0.23.py (https://www.nbl.fi/~nbl928/ensymble.html)
в. OpenSSL (https://www.stunnel.org/download/binaries.html)

2. Получаем сертификат для подписи. Кто не знает, читаем articles/file_592.html
На выходе данного шага у вас под рукой должны быть файлы:
а. mykey.key
б. mycert.cer

3. Ставим ПО (В УКАЗАННЫЕ ПАПКИ):
а. Устанавливаем Python-2.4.3 в папку по умолчанию C:\Python24\
б. Создаем папку C:\SSL\
в. Кладем файл ensymble_python2.4-0.23.py в папку C:\SSL\
г. Переименовываем C:\SSL\ensymble_python2.4-0.23.py в C:\SSL\ensymble.py
д. Распаковываем openssl.zip прямо в папку C:\SSL\ (получаем C:\SSL\openssl.exe)
е. В переменную среды PATH добавляем C:\SSL
I. Настраиваем (пишем везде БЕЗ КАВЫЧЕК):
Пуск -> Настройка -> Панель управления -> Система -> Закладка "Дополнительно" -> Кнопка "Переменные среды"
В разделе "Системные переменные" ищем "PATH" либо "Path", кликаем два раза
Если было имя переменной "Path" то меняем на "PATH"
А к значению переменной в конце добавляем ";C:\SSL" без кавычек!
II. Проверяем:
Пуск -> Выполнить...
В строке пишем "cmd"
Жмем Enter
В открывшемся окне пишем "ensymble.py"
Жмем Enter
Должно вылезти "Ensymble developer utilities for Symbian OS" и всякая доп. информация
Там же пишем openssl.exe
Жмем Enter
Строка должна поменяться на "OpenSSL> "
Все проверено, окно можно закрывать
Если что-то не получилось - разбирайтесь с вызовами этих двух программ (ensymble.py и openssl.exe), они должны работать (реагировать на вызов из командной строки)
ж. Создаем рабочую папку C:\my\
Кладем в нее полученные ранее файлы mykey.key и mycert.cer

4. Первая программа
а. Создаем папку C:\my\first\
б. Добаляем скрипт
I. Либо в папке C:\my\first\ создаем новый файл "default.py"
Его нужно создать в кодировке UTF-8 без BOM
Это можно сделать, например, в программе Notepad
Для пробы напишем в этом файле всего две строки:
import appuifw
appuifw.note(u'Hello world!', u'info')
Напишите их без отступа слева!
Для справки, в папку со скриптом можно класть и другие файлы, все они попадут в ваш .sis и установятся вместе с программой
II. Либо копируем туда уже имеющуюся программу
Как бы она не называлась, ее обязательно переименовать в "default.py"!
Итак, мы получили папку C:\my\first\ с нужными файлами и обязательным файлом C:\my\first\default.py
в. Создаем в папке C:\my\ файл "first.bat" в стандартной win1251 кодировке
В него пишем две строки:
ensymble.py py2sis --appname=MyFirstApp --version=1.0.0 --lang=RU --shortcaption="MFAPP" --caption="My first application" --cert=mycert.cer --privkey=mykey.key --passphrase=12345678 --verbose C:\my\first C:\my\first.sis
pause
Где:
--appname - название приложения
--version - версия приложения (формат строгий x.y.z)
--lang - язык
--shortcaption - короткое название приложения
--caption - длинное название приложения
--cert, --privkey, --passphrase - необходимы для подписи
--verbose - обязательно! чтобы увидеть результат
C:\my\first - папка для упаковки
C:\my\first.sis - имя нового sis файла
Не забываем писать во второй строке "pause"!
г. Запускаем C:\my\first.bat (кликнуть два раза мышкой)
Находим в окне строку "ensymble.py: warning: no UID given, using auto-generated test UID 0xe9d39af1"
И ЗАПИСЫВАЕМ куда-нибудь сгенерированный UID (он будет у вас другой) в данном случае это "0xe9d39af1"
Советую вести базу по UID'ам так как на одном телефоне не может быть установлено двух программ с одинаковыми UID'ами!
Жмем любую клавишу, чтобы окно закрылось
Открываем на РЕДАКТИРОВАНИЕ файл C:\my\first.bat и меняем в нем первую строку на
ensymble.py py2sis --uid=0xe9d39af1 --appname=MyFirstApp --version=1.0.0 --lang=RU --shortcaption="MFAPP" --caption="My first application" --cert=mycert.cer --privkey=mykey.key --passphrase=12345678 --verbose C:\my\first C:\my\first.sis
То есть просто добавляем ключ "--uid" со сгенерированным UID'ом
Это необходимо, чтобы после пересборки (повторного запуска C:\my\first.bat) наше приложение осталось самим собой, то есть использовало тот же идентификатор, а не новый
д. Полученный после этого файл C:\my\first.sis можно смело устанавливать на телефон (подписывать не нужно! он уже подписан)

5. ДОП. ИНФОРМАЦИЯ
а. Добавление ИКОНКИ
Во-первых, иконку нужно создать (или утащить)
Иконка представляет собой картинку в векторном формате SVG-Tiny
Сделать ее можно либо в Carbide.ui S60 Theme Edition 3.1 (в архив ПО не клал - очень много весит), либо еще в другой программе с поддержкой данного формата
Короче, как это сделать, лучше спросите у темостроителей, так как они рисуют иконки
Далее иконку кладем в папку C:\my\ и обзываем first_icon.svg
Далее копируем файл C:\my\first.bat в C:\my\first_with_icon.bat
Открываем C:\my\first_with_icon.bat на редактирование
Меняем первую строчку на
ensymble.py py2sis --uid=0xe9d39af1 --appname=MyFirstApp --version=1.0.0 --lang=RU --icon=first_icon.svg --shortcaption="MFAPP" --caption="My first application" --cert=mycert.cer --privkey=mykey.key --passphrase=12345678 --verbose C:\my\first C:\my\first.sis
То есть добавляем ключ "--icon" с именем файла иконки
Запускаем C:\my\first_with_icon.bat
Полученный .sis ставим в телефон и ПЕРЕЗАГРУЖАЕМ ЕГО, так как иконка может не проявиться до перезагрузки
б. Доступ приложения (ЕСЛИ НУЖНЫ СПЕЦ. ФУНКЦИИ)
Это наверно последнее, в общем, если вам необходимо разрешить вашему приложению какие-либо функции, например, чтение и запись в календарь или доступ к сети, то при создании .sis файла необходимо добавить соответствующие директивы в ключ "--caps"
Копируем файл C:\my\first.bat в C:\my\first_with_caps.bat
Открываем C:\my\first_with_caps.bat на редактирование
Меняем первую строчку на
ensymble.py py2sis --uid=0xe9d39af1 --appname=MyFirstApp --version=1.0.0 --lang=RU --shortcaption="MFAPP" --caption="My first application" --cert=mycert.cer --privkey=mykey.key --passphrase=12345678 --caps=ReadUserData WriteUserData --verbose C:\my\first C:\my\first.sis
То есть добавляем ключ "--caps" с необходимыми директивами через знак " ", для примера, директивы ReadUserData и WriteUserData позволяют приложению работать с календарем (и еще чем-то)
Запускаем C:\my\first_with_caps.bat
Полученный .sis ставим в телефон
Список доступных директив и их описание можно найти в файле docs\Capability_Descriptions_v1_0_en.pdf

PS:
Советую ставить приложения в память телефона
В папке my_example находится то, что по сути у вас должно быть в папке C:\my\
То есть это пример, можете пользоваться им, только замените файлы mykey.key и mycert.cer на свои, иначе ваша программа пойдет только на моем телефоне smile
Программа ensymble.py умеет еще кое-что, вызовите ее как в пункте 3.е.II и увидите, что в ней есть кроме py2sis

По поводу доработки статьи и подобного обращайтесь на сайте user/NightCat либо по мылу justacat@mail.ru
Моментальный ответ не обещаю, но...
И статью подправлю, если что.

ССЫЛКИ:
Тут вот можете скачать собственно файлы примеров и прочее (что упомянуто в статье: документы, странички, примеры): скачать

А по этой ссылке полный архив необходимых программ. В него включено то, что лежит по предыдущей ссылке. скачать

DimonVideo
2007-10-05T18:12:40Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 7

#7   Versingektor    

А мне понравилось )))


0 ответить

#7   _ALBERT_    

сделать прогу для собирания bat-файлов с нужными параметрами (на том же питоне) и все.


0 ответить

#7   nikita3011    

Все так сложно и запущено... Есть простые программы, SISWare например.


0 ответить

#7   NightCat    

Да нет, все это быстро получается, я просто расписал ооочень подробно. Пару раз попробовать, а потом все быстро smile
Тем более ведь не постоянно же sis\ки собирать, пробовать можно и через ScriptShell.

Забыл сказать: комментарии приветствуются!


0 ответить

#7   nek-v    

мда... вот и пиши после этого проги под девятку =)


0 ответить

#7   atrant    

во как сложно то... =) но нужно


0 ответить

Яндекс.Метрика