Четверг, 2024-11-21, 2:13 PM
Главная страница | Регистрация | Вход Приветствую Вас заблудившийся пакет | RSS
Меню сайта

Категории каталога
Программирование [58]
.. все с этим делом связаное..
Нейронные сети [4]
Нейронные сети, использование алгоритмы роботы
OC [6]
Unix, FreeBSD, Windows, Linux Описание, совети, секреты, настройки
WEB [25]
web-programming и все с этим связаное
Сети [2]
Описание сетей, сетевых технологий, настройки и некоторые секреты
Мабила [9]
Описание мобильных технологий, программинг под мабилу, и просто интересные моменты
Разное [10]
то что не вошло в другие категории.. прикольные истории про программеров и деятелей информационной индустрии
История [6]
История этого компьтерного мира и некоторых ее учасников
FREE [3]
free on the web..

Наш опрос
Какие категории сайта вам самые интересные?

Результаты · Архив опросов

Всего ответов: 139

Начало » Статьи » Мабила

Этапы создания программы для Symbian на C++.

Этапы создания программы для Symbian на C++. Часть 1.Series 60 C++ SDK



Symbian OS широко используется на многих платформах для смартфонов: Series 60, Series 80, Series 90, три UI платформы для Nokia и UIQ (UI платформа от UIQ Technology)

Series 60 SDK построены на основе специальной версии Symbian OS C++ SDK, распространяемой Symbian. SDK включает в себя множество инструментов, API, библиотеки и документацию, что позволяет создавать приложения на основе типовых шаблонов.

Как разработчику, вам может понадобиться несколько SDK для работы с разными версиями Series 60. Очень важно правильно подобрать SDK для выбранного вами Series 60 устройства.

Nokia и другие владельцы патента Series 60 выпускают собственные SDK. То есть их различные Series 60 продукт базируется на разных выпусках платформы. Для каждого такого выпуска производители публикуют соответствующую версию SDK. Как правило, релизы SDK могут быть использованы для программирования более ранних версий платформ. Эта обратная совместимость зависит от версии Symbian OS, используемого в качестве основы; использованного API и любых изменений API между релизами. Владельцы лицензии могут вносить дополнения в API с целью обеспечения доступа к специальным возможностям устройства. Например, смартфоны Siemens SX1 имеют FM радио, поэтому их SDK может содержать дополненный API реализующий управление радио. Для максимальной совместимости между продуктами различных производителей Вы можете отказаться от специфических API функций, ограничившись использованием основных функций, общих и неизменных для всех устройств платформы.

Более обширные варианты Series 60 Development Platforms доступны обладателям лицензии, сервисным центрам и другим партнерам Symbian. Это позволяет им проводить разработки на системном, а не прикладном уровне.

О возможности использования нескольких SDK


Очень просто использовать один Symbian OS SDK, поскольку сразу после инсталляции все готово к работе. Однако разработчикам часто требуется работать с SDK конкретной версии Series 60 или даже с SDK конкретной платформы интерфейса пользователя (UI).




Этапы создания программы для Symbian на C++. Часть 2. Обзор процесса разработки



Эмулятор платформы поставляется как часть SDK. Благодаря этому разработка и тестирование приложения может проводиться на компьютере без подключения целевого устройства. Программы могут создаваться и отлаживаться как с помощью эмулятора, так и непосредственно на телефоне. Кроме того, можно получать различный бинарный код для различных устройств. Процесс компиляции и линковки проводится с использованием инструментов командной строки или различных IDE (Microsoft Visual C++ 6, Metrowerks Code Warrior, Borland C++Builder 6 Mobile Edition и Borland C++BuilderX Mobile).

Программисты Symbian реализовали подход аппаратно независимой разработки приложений. Сначала должны быть созданы два универсальных файла: projectname.mmp и bld.inf, где projectname - имя разрабатываемого компонента или приложения. Эти два текстовых файла используются в качестве отправной точки для любого варианта компоновки, IDE и платформы.

Файл bld.inf определяет названия всех компонент проекта, для которых необходимо провести компоновку. Каждый компонент описан в собственном .mmp файле.

В обоих файлах содержится текст. Если проект состоит из нескольких компонент (собственно приложение и специальные библиотеки), то каждый из них должен иметь собственный .mmp файл. Каждую библиотеку, подключаемую к приложению, также необходимо снабдить .mmp файлом. При этом каждый .mmp файл должен быть прописан в bld.inf.

Демонстрационный проект HalloWorld содержит всего два файла спецификации: bld.inf и helloworld.mmp. Используя эти файлы можно настроить проект под определенную платформу и создать необходимые командные файлы.

Как правило, вам придется работать с утилитой bldmake. Она, используя в качестве исходных данных два проектных файла спецификации, генерирует командный файл abld.bat. С его помощью Вы сможете выполнять множество действий над проектом. Например, abld.bat можно использовать для создания ориентированных на платформу или среду разработки make-файлов. При наличии законченного исходного кода проекта, abld можно использовать для компоновки проекта под одну или более платформ.

Последние годы большинство проектов создаются, компонуются и запускаются с помощью интегральных сред разработки (IDE).

Если Вы используете Microsoft Visual C++, то можете использовать abld для генерации файлов HelloWorld.dsp и HelloWorld.dsw. Файл .dsw описывает рабочую область и открывается непосредственно из IDE. Этот файл может ссылаться на один или несколько .dsp файлов.

Если Вы используете Metrowerks Code Warrior, то можете создать проект в IDE обычным способом или импортировать .mmp файлы. В процессе импортирования создается необходимый проектный файл HelloWorld.mcp.

Аналогичную задачу может решать и Borland C++ Builder Mobile Edition IDE, используя вместо .mmp файл bld.inf. Borland C++ BuilderX создаст файл проекта с расширением .cbx.

Открыв файл проекта в конкретной интегрированной среде разработки, Вы сможете воспользоваться всеми ее инструментами для разработки, трассировки, компоновки и запуска создаваемого вами приложения.

Разработчики, предпочитающие использовать командную строку, могут использовать abld для компиляции и линковки проекта.

Все методы создания проекта для различных IDE будут описаны позже.




В итоговой таблице 1.1 приведены различные доступные в настоящее время средства для разработки проектов под платформу Series 60. Большую долю составляют постоянно пополняющиеся предложения от Symbian, Nokia, Borland и Metrowerks. Вероятно, что широко используемая сегодня среда разработки от Microsoft скоро перестанет поддерживаться.

Между интегрированными средами разработки, предлагаемыми Microsoft, Borland и Metrowerks есть существенные различия. В настоящее время ведется активная работа над двумя последними средами. EMCC Software Ltd старается ориентироваться на каждого из этих производителей.

Не стоит забывать и про имеющиеся в нашем арсенале инструменты командной строки. Они используются для компоновки проектов под целевые устройства. C++ BuilderX и Code Warrior IDE также могут использоваться для разработки под конкретные устройства.

С чего же начать написание нового приложения под Series 60? Прежде всего, создайте пару bld.inf и .mmp проектных файлов. В программах EMCC Software эти файлы используются для генерации проектов для различных IDE, а также при создании приложения консольными средствами. Этот подход реализуют в своих SDK Symbian и Nokia. Средства разработки развиваются с потрясающей скоростью, и ориентироваться на конкретную IDE нет никакой возможности.

Таблица 1.1





Command line building

Используя инструменты Symbian OS совместно с транслятором и линкером, а также Microsoft Visual C++ компилятором/линкером создается выполняемый файл для эмулятора. Эмулятор может быть вызван из командной строки. Отладка исходного кода на эмуляторе требует работы в IDE.

Вы можете использовать кросплатформенный компилятор и линкер GNU C++ для устройств на процессорах ARM



Microsoft Visual C++ IDE

Вы можете пользоваться компилятором и линкером для эмулятора в среде разработки Microsoft Visual C++.



Borland C++ IDE

В настоящее время доступно две среды разработки. IDE позволяет использовать компилятор и линкер для эмулятора.



Metrowerks Code Warrior C++ IDE

IDE позволяет использовать компилятор и линкер для эмулятора.


Приведенный ниже материал будет посвящен работе с проектом HelloWorld. Будут показаны все шаги, которые необходимо проделать в процессе разработки, отладки и развертывания программы для эмулятора Series 60.

Для нашего проекта также потребуется создать файлы следующих типов: заголовки (.h), исходный код (.cpp), ресурсные файлы интерфейса пользователя (.rss).

Вы можете протестировать приложение, используя эмулятор, или используя кнопку Run в IDE. Имейте в виду, что отладку приложения на эмуляторе нужно проводить внутри IDE.

После разработки, запуска, тестирования, или отладки приложения на эмуляторе вы, вероятно, захотите развернуть его и выполнить на целевом устройстве. В дальнейшем будет показано, как построить демонстрационное приложение для целевого устройства Series 60, как развернуть и запустить его.




Этапы создания программы для Symbian на C++. Часть 3. Эмулятор Series 60



Разработка, отладка и тестирование приложений для Series 60 устройств, как правило, проводятся на специальном эмуляторе, который представляет собой Windows реализацию Series 60 устройства. В большинстве случаев процесс разработки с помощью эмулятора очень близок к разработке с использованием конкретного целевого устройства. Таким образом, вам совсем не обязательно иметь телефон для разработки приложения. Внешний вид используемого эмулятора может сильно изменяться. Он зависит от целевой платформы, используемой версии Series 60 и выбранной IDE. Например, вид панели можно настроить так, чтобы он был очень похож на панель конкретного телефона. Можно менять вид, размер, число кнопочек и других интерактивных элементов. Приложения, доступные на эмуляторе зависят от версии платформы и предпочтения изготовителя устройства.

К сожалению, устройства могут иметь некоторые особенности, которые невозможно воспроизвести на эмуляторе (виброзвонок, обратная связь, фотокамера, и т.п.). Таким образом, существует ситуации, когда невозможно провести отладку и тестирование программы, используя только эмулятор. Кроме того, эмулятор не точно передает скорость выполнения программ, их производительность и использование памяти.

При разработке программ в распоряжении программиста находится богатый набор всевозможных Windows утилит. Необходимо обратить внимание на то, что линковка и компоновка проекта должна происходить с использованием не стандартных библиотек Windows, а специальных, поставляемых в SDK. Полученный в результате бинарный Windows файл может быть запущен из-под эмулятора.

В процессе разработки вся информация о деталях линковки и компоновки проекта храниться в специализированном проектном файле. Различные среды разработки используют различные проектные файлы. Это обстоятельство гарантируют правильное использование эмулятором различных, используемых в процессе создания программы ресурсных файлов.

На рисунке 2 показано, что дисплей Series 60 устройств разделен на несколько областей: область состояния (Status Pane), основная область (Main Pane) и область управления (Control Pane). (Более подробную информацию можно получить, прочитав файл "Series 60 UI Style Guide", входящий в состав документации SDK. Файл содержит описание стандартов пользовательского интерфейса Series 60.)


Область состояния занимает верхнюю часть экрана (показана синим на эмуляторе). Основная область находится в середине экрана между областью состояния и областью управления. Область управления занимает нижнюю часть экрана и содержит программируемые клавиши.

Область состояния может отображать служебную информацию текущего приложения, например информацию о состоянии устройства: степень разряженности аккумулятора. Не смотря на то, что эта область очень часто используется приложениями, она может быть скрыта. Такая ситуация возникает в играх, использующих весь экран.

Основная область - главная рабочая область, которая используется приложением для отображения различных данных.

Область управления находится под основной областью и содержит изображения двух программируемых кнопок и индикатора прокрутки. Как и область состояния, область управления может быть скрыта. В таких ситуациях рекомендуется предоставить пользователю доступ к меню Options (По умолчанию это меню вызывается левой программируемой кнопкой).

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

Вы можете взаимодействовать с эмулятором посредствам мыши или стрелочек для управления объектами на экране. Для ввода данных может использоваться клавиатура или мышка и нарисованные на панели эмулятора кнопочки. Взаимодействие с эмулятором близко, но не идентично взаимодействию с реальным устройством.




Этапы создания программы для Symbian на C++. Часть 4. Компоновка для эмулятора



Приложения для Series 60 могут быть построены через утилиты командной строки или с помощью интегрированных сред разработки. Ниже будут описаны оба подхода. Рассмотрим сначала построение выполняемого файла для ПК эмулятора средствами C++ компиляторов, входящих в состав различных IDE. Мы практически всегда будем использовать компоновку с возможностью отладки. Это позволит контролировать утечку памяти и даст нам доступ к отладочной информации.


Компоновка из командной строки


Откройте командную строку и перейдите в папку, содержащую Series 60 SDK. Перейдите в папку, где содержится файл описания проекта (helloworld.mmp), файл описания компонентов (bld.inf).

Для нашего проекта HelloWorld это будет папка \Symbian\Series602_0\EMCCSoft\HelloWorld\group, если вы используете Series 60 2.x; или \Symbian\6.1\Series60\EMCCSoft\HelloWorld\group - если Series 60 1.x.

Введите в командной строке:

bldmake bldfiles

Выполнение этих команд происходит без вывода какой-либо вспомогательной информации. Они используют файлы bld.inf и helloworld.mmp для генерации нового файла abld.bat. Этот файл в отличие от bld.inf и helloworld.mmp не может быть портирован между различными IDE и не должен изменяться вручную.

Для компиляции и линковки в зависимости от используемого IDE введите

abld build wins udeb

Visual C++

abld build winsb udeb

Borland C++

abld build winscw udeb

CodeWarrior

Команда abld проведет компоновку проекта (другими словами компиляцию и линковку) для Series 60 эмулятора (на это указывают параметры wins, winscw или winsb) с отладочной информацией, встроенной в выполняемый бинарник (за это отвечает ключ udeb).


Компоновка проекта из интегрированной среды разработки


Как правило, работа над проектом и его компоновка производится внутри интегрированной среды разработки. Для работы с проектом необходимо из файлов bld.inf и *.mmp создать специализированный проектный файл среды разработки. Для Visual C++ эта операция должна быть проделана из командной строки с использованием инструментов, поставляемых Symbian. В случае с Borland или CodeWarrior это не обязательно, поскольку обе IDE могут непосредственно импортировать файлы bld.inf и *.mmp и автоматически создавать проектные файлы.

При работе из командной строки необходимо создать abld.bat, если он еще не создан или пересоздать его, если были внесены какие-либо изменения в файлы bld.inf и *.mmp. Из командной строки этот файл создается с помощью команды:

bldmake bldfiles


Компоновка проекта в Microsoft Visual C++


Активируйте командную строку и перейдите в папку с вашим проектом, а затем выполните команду:

abld makefile vc6

В результате будет созданы файлы проекта и рабочей области для Visual C++ (helloworld.dsp и .dsw). Эти файлы будут находиться в подкаталоге \Epoc32\Build. Полный путь будет зависеть от местоположения вашего SDK, например:

\Epoc32\Build\EMCCSoft\HelloWorld\HelloWorld\Wins

Открывая файл рабочей области (helloworld.dsw) в Visual C++ вы можете производить компиляцию и линковку проекта простым нажатием клавиши F7 или через меню IDE: Build->Build HelloWorld.app


Компоновка проекта в Borland C++ Builder 6


Если Вы используете Borland C++Builder 6 Mobile Edition, который базируется на C++Builder 6 Personal Edition и Mobile plug-in, то можете просто импортировать файл bld.inf проекта HelloWorld. Используйте команду меню IDE: File->New->Other. Затем выберите Mobile, а затем в открывшемся диалоговом окне Import Mobile Application. Теперь просто откройте файл bld.inf.

Используйте Ctrl+F9, или Project->Make для сборки проекта. Для того чтобы собрать и запустить проект, используйте F9 или Run->Run. Выполнение этих команд каждый раз приводит к перекомпиляции проекта. Если Вы хотите просто запустить эмулятор, используйте Tools->Mobile Build Tools->Run Emulator. Вы можете сохранить проектные файлы Borland (.bpr и .bpg).

Также вы можете выполнить команду abld и использовать другие утилиты SDK типа aifbuilder и sisar через меню Tools->Mobile Build Tools.


Компоновка проекта в Borland C++ BuilderX


Как и в предыдущем случае, Вы можете просто импортировать файл bld.inf.

Выполните File->New и щелкните на Mobile C++, а затем на Object Gallery. Выберите Import Symbian C++ Project. В выпадающем списке выберите используемую вами Series 60 SDK. Определите местоположение проекта и файла bld.inf. Нажмите клавишу Next и введите название проекта. С нажатием кнопки Finish проект будет создан и открыт. Для сборки проекта используйте Ctrl+F9 или Project->Make Project. Для запуска - F9 или Run->Run Project или кнопку Make and Run на панели инструментов.


Компоновка проекта в CodeWarrior


Если Вы используете Metrowerks CodeWarrior for Symbian, то можете импортировать файл HelloWorld.mmp, выбрав в меню IDE File->Import Project from .mmp File.

В результате будет вызван мастер. Выберите SDK для работы с проектом, выберите файл .mmp, а затем платформу WINSCW. По умолчанию включен режим отладки UDEB. Для сборки проекта можно использовать F7 или Project->Make.

Проектные файлы CodeWarrior (.mcp, .xml, .resources и .pref) автоматически создаются в папке с файлом HelloWorld.mmp.

Вы также можете создать проект CodeWarrior из командной строки. Для этого сначала выполните команду:

bldmake bldfiles

а затем

abld makefile cw_ide

Это приведет к созданию переносимого файла HelloWorld.xml в папке \Epoc32\Build\EMCCSoft\HelloWorld\HelloWorld\Winscw.

Теперь Вы можете использовать CodeWarrior для импортирования этого файла и создания проекта .mcp. Выберите File->Import Project, выберите HelloWorld.xml и задайте имя для нового проекта, например HelloWorld. CodeWarrior сгенерирует и загрузит проект, который вы можете откомпилировать, отладить и запустить, используя средства IDE.




Этапы создания программы для Symbian на C++. Часть 5. Запуск эмулятора



В комплекте Series 60 SDK поставляются две версии эмулятора: одна из предназначена для доводки приложения и позволяет получать различную отладочную информацию, другая - предназначена для окончательного тестирования приложения перед релизом. Второй эмулятор значительно быстрее, поскольку освобожден от отслеживания всей вспомогательной информации.

Обе версии называются epoc.exe, но находятся они в различных папках. (Epoc - название операционной системы, которая явилась прообразом Symbian OS).

В повседневной практике используется отладочный эмулятор. В зависимости от выбора IDE, вы можете запустить его в обычном и "отладочном" режиме. Для того чтобы использовать оба режима, придется немного повозиться с настройками.

Вам может понадобиться запустить эмулятор, развернуть и запустить приложение (об этом чуть позже) для проведение тестирования. В случае возникновения ошибки, произойдет контролируемая остановка приложения и эмулятора.

Запустив эмулятор в отладочном режиме, Вы можете использовать брейкпоины. Расставив их в исходном коде программе, Вы, как и раньше производите развертывание и запуск приложения. Программа будет выполняться для тех пор, пока не будет достигнут брейкпоинт. По его достижению приложение будет приостановлено, на экране появится исходный код программы и вся отладочная информация. Далее вы сможете осуществить пошаговое выполнение программы, полностью контролируя его. Вам будет доступна вся отладочная информация, включая исходный код программы, текущие значения переменных, стек. Все это позволит Вам контролировать выполнение программы и находить ошибки.


 

Для Series 60 1.2 SDK релизовый эмулятор, как правило, расположен в папке:

Для Visual C++ \Symbian\6.1\Series60\Epoc32\Release\wins\urel\epoc.exe

Для Borland C++ \Symbian\6.1\Series60\Epoc32\Release\winsb\urel\epoc.exe

Для CodeWarrior \Symbian\6.1\Series60\Epoc32\Release\winscw\urel\epoc.exe

А отладочный эмулятор в папке

Для Visual C++ \Symbian\6.1\Series60\Epoc32\Release\wins\udeb\epoc.exe

Для Borland C++ \Symbian\6.1\Series60\Epoc32\Release\winsb\udeb\epoc.exe

Для CodeWarrior \Symbian\6.1\Series60\Epoc32\Release\winscw\udeb\epoc.exe

Полный путь зависит от того, какие настройки были указаны в процессе инсталляции SDK.

Для Series 60 2.x SDK путь к эмулятору очень простой, например: \Symbian\Series602_0\Epoc32\release\wins\udeb\epoc.exe.


Эмулятор для Series 60 2.x имеет внешний вид телефона. Вы можете управлять приложением, используя нарисованные кнопки. Не зависимо от версии Series 60 платформы по умолчанию всегда используется отладочный эмулятор: \Epoc32\Release\wins\udeb\epoc.exe.


Режим отладки


Когда Вы запускаете приложение в отладочном режиме, то исходный код, стек, значения переменных и другая информация выводится при достижении брейкпоинта, как показано на рисунке 4. Окно эмулятора может свернуться, если код программы в брейкпоинте не требует от пользователя ввода какой-либо информации.


Запуск эмулятора из командной строки


Для запуска эмулятора из командной строки, перейдите в папку, где находится файл epoc.exe (например, в \Symbian\6.1\Series60\Epoc32\Release\wins\udeb) и выполните

epoc

Эта команда запустит отладочный эмулятор, и Вы сможете развернуть и выполнить свое приложение. (Но не в режиме отладки. Этот режим доступен только из IDE). Для запуска релизового эмулятора выполните команду

epoc -rel


Запуск эмулятора из Visual C++


Отладочная версия вызывается сочетанием клавиш Ctrl+5 или командой меню Build->Execute Epoc.exe. Чтобы активизировать режим отладки используйте клавишу F5 или пункт меню Build->Start Debug->Go.

При первом вызове эмулятора вам будет предложено указать путь к файлу epoc.exe (он находится в папке \Epoc32\Release\wins\udeb).


Запуск эмулятора из Borland C++ Builder 6 и C++ BuilderX


Для запуска эмулятора выберите пункт меню Tools->Mobile Build Tools и щелкните на Run Emulator. Также вы можете использовать Run->Run или клавишу F9, но в этом случае каждый раз будет происходить перекомпиляция проекта, которая порой занимает много времени.

В случае с C++ BuilderX используйте Shift+F9 или Run->Debug Project. Если хотите перекомпилировать приложение перед запуском, используйте F9 или Run->Run Project.


Запуск эмулятора из CodeWarrior


Используйте Ctrl+F5 или Project->Run для запуска эмулятора. Для запуска в режиме отладки нажмите F5 или выберите Project->Debug.


Развертывание и запуск приложения


Перейдите и выберите приложение HelloWorld, щелкая мышью на изображении кнопочек на панели эмулятора или используя ПК клавиатуру. Нажмите клавишу Selection (в центре навигационного джойстика) для запуска приложения.

Примечание. Имейте в виду, что приложение, не имеющее собственной иконки (которая задается в *.aif файле), будет отображаться с иконкой, которая выглядит как кусок пиццы.

В некоторых версиях SDK/IDE созданное вами приложение будет располагаться в папке "Other", а не на главном рабочем столе.

Вы можете запустить приложение на эмуляторе в режиме отладки. Последовательность действий, которая это выполняет, зависит от конкретной IDE. Как правило, достаточно просто установить брекпоинты внутри исходного кода приложения.

Дальнейшая помощь в работе с IDE


Более подробная информация о возможностях IDE выходит за рамки данной статьи. Обратитесь к специальной литературе. Кроме того, справку можно получить непосредственно в IDE.

В Microsoft Visual C++ используйте меню Help->Contents. Учтите, что предварительно необходимо установить MSDN.

Для Borland C++Builder выберите пункт меню Help->Borland C++ Mobile Edition Help.

Для C++BuilderX, выберите Help->Help Topics а затем Mobile Development.

Для Metrowerks CodeWarrior выберите Help->Online Manuals.


Этапы создания программы для Symbian на C++. Часть 6. Компоновка(build) приложения для Series 60 устройства



Компоновка приложения для Series 60 устройства посредствам Visual C++ IDE должна быть осуществлена с помощью командной строки (команда abld). CodeWarrior и C++Builder позволяют проделать эту операцию непосредственно из IDE.

Для компоновки приложения для Series 60 устройства, построенного на процессоре ARM, необходимо наличие специального компилятора (например, GNU gcc C++ Compiler, который поставляется в составе SDK).

На финальной стадии разработки приложения вам потребуется построение релиза.

Откройте командную строку и перейдите в каталог, где расположено наше приложение HelloWorld. Затем введите следующие команды:

bldmake bldfiles
abld build armi urel
    для Visual C++ и CodeWarrior

или

abld build armib urel

    для Borland C++

Рассмотрим подробнее ключи команды abld.
build говорит о необходимости компоновки (компиляции и линковки) приложения.
armi указывает на то, что приложение рассчитано на процессор ARM.
urel говорит о том, что полученный в результате код будет выполняться на целевом устройстве.

Вообще существует три варианта компоновки приложения, для устройств на процессорах ARM: ARMI, ARM4 и Thumb. ARMI выполнимые программы совместимы с двумя другими вариантами компоновки. Выполняйте компоновку для ARMI, если хотите, чтобы ваша программа могла выполняться на как можно большем количестве различных устройств. ARM4 дает максимальную производительность за счет увеличения размера приложения. Thumb наоборот создает компактные, но более медленные программы.

Компоновка фактически включает в себя компиляцию, линковку, компиляцию ресурсов и создание информационного файла *.aif (этот файл включает в себя иконку приложения и другую специфическую информацию).

Когда происходит компоновка для целевого устройства, незаметно для вас вызывается специальная утилита petran. Petran приводит HelloWorld.app к форме, подходящей для загрузки в реальном времени Symbian OS загрузчиком исполняемых файлов.

Если вы используете CodeWarrior IDE, используйте пункт меню Project->Set Default Target для выбора желаемого режима компоновки (например, ARMI UREL) или вызовите Build All, а затем Project->Make.

При использовании C++Builder X, выберите пункт меню Project->Properties, а затем выберите Symbian settings. В появившемся диалоговом окне измените поля Platform и Build на ARMI и UREL соответственно.

Нажмите Ctrl+F9. В результате будет создан инсталляционный пакет *.sis. О том, как надо его устанавливать будет рассказано дальше.

Исполняемые файлы и файлы данных (HelloWorld.app, HelloWorld.rsc и HelloWorld.aif)находятся в папке \Epoc32\Release\Armi\Urel.

Чтобы протестировать полученное приложение на Series 60 устройстве, все эти файлы должны быть переданы на устройство и записаны в папку \System\Apps\HelloWorld\.

Запись файлов на устройство может быть осуществлена копированием на memory card или, через Data кабель или инфракрасный порт непосредственно на устройство, если производитель включил эту возможность в устройство. Хотя в большинстве случаев все файлы сворачиваются в специальный инсталляционный пакет, который и передается устройству. Подробнее об этом рассказано в следующем разделе.




Этапы создания программы для Symbian на C++. Часть 7. Как развернуть приложение на целевом устройстве



Как правило, приложения поставляют на целевое устройство в специальном формате: Symbian Installation System (*.sis). Файл с расширением sis представляет собой архив, который включает в себя все необходимое для инсталляции приложения и вспомогательную информацию. Symbian Installation System обеспечивает простой и непротиворечивый пользовательский интерфейс установки приложения.

Чтобы создать *.sis файл необходимо использовать программу sisar, которая входит в состав Series 60 SDK. Sisar упаковывает все файлы приложения в файл с расширением sis.

Все, что необходимо для создания инсталляционного файла (*.sis) нашего проекта находится в папке \install. В этом примере мы будем использовать специальный исходник для инсталляции HelloWorld.pkg и программу makesis.exe.

Компоновка SIS инсталляционного файла


После компоновки armi релиз приложения HelloWorld, как было описано ранее, вам необходимо создать инсталляционный пакет (*.sis). Откройте командную строку и перейдите в папку SDK для проекта HelloWorld. перейдите в каталог \install, а затем введите команду

makesis helloworld.pkg

Она приведет к созданию sis пакета. Если все прошло нормально, вы уведете сообщение "Created helloworld.sis". Инсталляционный файл helloworld.sis будет создан в папке \install. Теперь вам надо скопировать этот файл на целевое устройство.


Установка SIS файла


Существует три варианта последовательности действий, которые приводят к установки приложений. Они зависят от используемого вами устройства и доступных средств связи. Рассмотрим варианты инсталляции:



  • Инсталляция посредствам обращения к sis файлу, расположенному на PC, с последующей установкой приложения через инфракрасный порт или Bluetooth соединение между PC и целевым устройством. Соединение должно быть установлено через специальное программное обеспечение, такое как Symbian Connect.
  • Инсталляция с помощью обращения к sis файлу, полученному через интерфейс OBEX (OBject EXchange). Физически передача осуществляется через инфракрасный порт или Bluetooth. Процесс передачи/приема управляется приложением Messaging, которое создает сообщение и прикрепляет к нему sis файл. Когда Вы откроете сообщение на телефоне, прикрепленный файл автоматически начнет инсталляцию приложения.
  • Кроме того, sis файл может быть передан с помощью e-mail. Инсталляция снова управляется через телефонное приложение Messaging. Когда Вы открываете сообщение, автоматически запустится инсталлятор.

Первые два варианта зависят от установленного соединения между вашим ПК и Series 60 устройством. Производители, как правило, снабжают разработчиков удобным коммуникационным софтом, и вам придется обратиться к специальным инструкциям, которыми снабжены эти программы.

После инсталляции в памяти устройства остается урезанная версия sis файла, которая необходима для корректного удаления приложения из системы (используя менеджер приложений).

Часто оригинальный sis файл остается в памяти устройства. Это происходит, если он прикреплен к сообщению или e-mail письму. Чтобы удалить его, удалите сообщение.

Запуск приложения на целевом устройстве


Передайте инсталляционный файл на целевое устройство, используя один из описанных выше методов. После передачи у вас появится возможность установить приложение на устройство. Дальнейший запуск приложения полностью аналогичен его запуску на эмуляторе.



Автор: aRix




Другие статьи по теме


Источник: http://www.mobilab.ru
Категория: Мабила | Добавил: X-SAM (2006-05-15) | Автор: http://www.mobilab.ru
Просмотров: 7967 | Комментарии: 8 | Рейтинг: 5.0

Всего комментариев: 3
3 Asdzhfnrpkrw  
0
Для людей , для діяльності , для чарівність наймальовничіших зустріч в світі і
 подія сайтів - подивіться на курорти готелі Небес. Ми сподіваємося, що ви відвідаєте нас найближчим часом .
http://hotelsheaven.com/

2 Livecreance  
0
as brought unto Benwick a huge army

1 X-SAM  
0
пишите коментарии cry
и что бы вы хотели еще об этом почитать?

Имя *:
Email *:
Код *:

Украинская Баннерная Сеть
Поиск по каталогу

Кнопки друзей

Статистика
Рейтинг сайтов Powered by MyPagerank.Net

Copyright DEBUGGER © 2007 Используются технологии uCoz