motofan logo
> 

Разработка софта под MOTOMAGX, начну небольшой HOWTO

Abram
сообщение 21.5.2008, 21:56


Прелесть какая гадость
*******

Группа: Разработчики
Сообщений: 1 963
Регистрация: 24.6.2005
Из: .ru - рідна Україна
Пользователь №: 44 825
Модель телефона: Moto G XT1033
Прошивка: CyanogenMod
Победитель конкурса 2008

Рейтинг: 744



Ну вот и пришла нам пора писать под наши телефоны нативный софт smile.gif.

Итак, поехали. Для начала нам нужен Linux и Z6 SDK. Linux берем кто какой хочет, желательно 32-битный (64-битного SDK нет, а как он себя поведет под 64-битной ОС - не знаю). Пользователи Windows могут воспользоваться, например, andLinux: http://www.andlinux.org/. Я буду рассматривать Ubuntu. Для Debian или andLinux все то же самое. Разница с другими дистрибутивами - в основном только в способе установки програм. С этого момента я считаю, что у вас уже установлен Linux, настроена сеть, установлены subversion (svn) и ncftp. Если же нет:
Код
sudo apt-get install subversion ncftp

Небольшое введение насчет Linux я написал, дабы избежать пустых вопросов shuffle.gif
SDK берем здесь:
Код
svn co https://ezx.darktech.org/svn/trunk/arm-eabi

Не забывем иногда делать
Код
svn up

Я, например, иногда кое-что изменяю для совместимости с Е2. Патчи и фиксы, а также дополнения приветствуются! clap.gif
Кто не знает что такое SVN - тем в гугл.

Временно сабж лежит здесь: http://depositfiles.com/files/7781186 и здесь: http://narod.ru/disk/2474622000/arm-eabi.tar.gz.html
Теперь рассмотрим на примере

Возьмем, например, Z6SnesX (эмулятор SNES для Z6, будет выложен позже. Ребят, GPL - он и в Африке GPL, но кто скомпилит - не выкладывайте, имейте совесть! Дождитесь моего релиза)
Код
svn co https://fig.vam/svn/ne/dam

Рассмотрим немного порезаный Makefile:
Код
TOOLPREFIX:=    /home/abram/z6/arm-eabi
#TOOLPREFIX:=    /arm-eabi
#Remember to set your own TOOLPREFIX.
QTDIR    :=    $(TOOLPREFIX)/lib/qt-2.3.8
EZXDIR    :=    $(TOOLPREFIX)/lib/ezx-z6
UPLOAD_PATH :=  /mmc/mmca1/bin/
CC    =    $(TOOLPREFIX)/bin/arm-linux-gnueabi-gcc
CXX    =    $(TOOLPREFIX)/bin/arm-linux-gnueabi-g++
LD    =    $(TOOLPREFIX)/bin/arm-linux-gnueabi-g++
CFLAGS    =    -pipe -Wall -W -O2 -DNO_DEBUG $(INCPATH)
CXXFLAGS=    -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG $(INCPATH)
INCPATH    =    -I$(QTDIR)/include -I$(EZXDIR)/include -I $(TOOLPREFIX)/arm-linux-gnueabi/include
LDFLAGS    =    -s
LINK    =    $(TOOLPREFIX)/bin/arm-linux-gnueabi-gcc
LFLAGS    =    
LIBS    =    $(SUBLIBS) -L$(TOOLPREFIX)/arm-linux-gnueabi/lib -L$(QTDIR)/lib -L$(EZXDIR)/lib -lm -lqte-mt -lezxpm -ljpeg -lezxappbase -lezxtapi-xscale-r -llog_util -llighting
MOC    =    $(QTDIR)/bin/moc
UIC    =    $(QTDIR)/bin/uic

TAR    =    tar -cf
GZIP    =    gzip -9f

...пропустим...

install: $(TARGETS)
    ncftpput -u root -p "" 192.168.16.2 $(UPLOAD_PATH) $(TARGETS)

Для компиляции нужно лишь заменить переменную TOOLPREFIX.
Подробнее рассмотрим цель install: она автоматически заливает все на телефон cool.gif через ftp и зависит от целей компиляции. То есть, если выполнить make install - програма скомпилируется (если нужно) и установится на телефон в UPLOAD_PATH. Для этого нужна утилита ncftpput - установите ее с помощью менеджера пакетов своего дистрибутива.

Запуск програмы

Для запуска програмы подключаемся к телефону через telnet, cd в нужную папку и запускаем smile.gif. Например,
Код
./Z6SnesX

Имейте ввиду, перед запуском програм из telnet нужно установить необходимые переменные окружения! Для этого скопируем прямо в консоль содержимое файла /etc/initservices/services/ezxenv.sh
Для Z6 это:
Код
#! /bin/sh
#set up environment
export QTDIR=/usr/lib/ezx
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib:/lib:/usr/language/vui/english/lib:/usr/language/vui/mandarin/lib:/usr/language/vui/common/lib:/usr/local/lib
export LD_HWCAP_MASK=
export EZX_PLUGINS_DIR=/hatcreek/plugins

# font path
if test -f /usr/language/fonts/fontdef.cfg;
then
    export EZX_RES_FONT_PATH=/usr/language/fonts
else
    export EZX_RES_FONT_PATH=$QTDIR/lib/fonts
fi

# slidertone path
export EZX_RES_SOUNDS_SLIDERTONE_PATH=/usr/data_resource/sound/slider_tones

# icon path
export EZX_RES_ICON_PATH=/usr/data_resource/icon

# string path
export EZX_RES_STRING_PATH=/usr/language/string

export EZX_NATIVE_APP_PATH=/usr/SYSqtapp
export EZX_PRELOAD_APP_PATH=/usr/data_resource/preloadapps
export AM_SYS_STATE_SHM_PATH=/usr/SYSqtapp/am

# per LIBll14192, set LOCPATH
export LOCPATH=/usr/language/string
export PREF_LANGUAGE_PATH=${LOCPATH}
export EZX_LANG=/usr/language/

export EZX_LOCAL_PATH=/ezxlocal/
export EZX_LOCAL_DOWNLOAD_PATH=${EZX_LOCAL_PATH}download/
export EZX_LOCAL_APP_WRITE_PATH=/ezxlocal/download/appwrite
export EZX_APP_WRITE_PATH=/ezxlocal/download/appwrite

export LJ_DATA_VISIBLE=/ezxlocal/download/mystuff/.system
export LJ_DATA_PRIVATE=/ezxlocal/download/appwrite
export LJ_CONFIG=/ezxlocal/download/appwrite

export TPA_HOME=${EZX_LOCAL_PATH}

#sound path
export EZX_RES_SOUNDS_PATH=/usr/data_resource/sound
export EZX_RES_SOUNDS_UISOUNDS_PATH=/usr/data_resource/sound/ui_sounds
export EZX_RES_SOUNDS_RINGTONES_PATH=/usr/data_resource/sound/ringtones

#dm
export dm_setting_root=${EZX_APP_WRITE_PATH}/setup
export dm_setting_plugin=/usr/lib/ezx/lib/dm_plugin

export EZX_EXTRA_SYS_DATA_PATH='/ezxlocal/.system/'

#java
export J2ME_SECURITY_DIR='/ezxlocal/download/java'
export JAVA_HOME_CARD1='/mmc/mmca1/.system/java'
export JAVA_HOME_CARD2='/mmc/mmcb1/.system/java'

export J2ME_SYSDATA_DIR=${LJ_DATA_VISIBLE}/java
export JAVA_HOME_FLASH=${LJ_DATA_VISIBLE}/java

export MIDP_SYSDIR='/ezx_user/download/appwrite/java'
export J2ME_POLICY_DIR='/usr/securesetup'

export MYSTUFF_DATA_PATH='/ezxlocal/download/mystuff/'

#browser
export BROWSER_FS_ROOT=/ezxlocal/download/browser

export FLASH_MOUNT_PATH=/ezxlocal
export EZX_INSTALLED_QT_PATH=/ezxlocal
export MYSTUFF_DATA_PATH=/ezxlocal/download/mystuff/

Для V8 и других не знаю sad.gif. Кто скажет - с меня плюс. Хотя скорее всего такой же.
Итак, запускаем и вуаля! - видим на экране телефона свою програму clap.gif. Или не видим. Или видим Segmentation fault - это уж кто как напишет wink.gif.

Удачи!
Разбор библиотек
Читаем здесь: https://ezx.darktech.org/wiki/ReverseSo

Флуд и оффтоп наказываю! Уже трое людей получило по -2 с удалением сообщения
На вопросы отвечаю smile.gif

Сообщение отредактировал Abram - 8.9.2008, 10:49
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
Abram   Разработка софта под MOTOMAGX   21.5.2008, 21:56
qwerzxcv   это теперь можно теперь любой софт с компового лин...   22.5.2008, 11:08
azt59   Вопросик по SDK.. сливаем его с нета кладём куда у...   22.5.2008, 12:57
Wisher   это теперь можно портировать с е2 или с минга черн...   22.5.2008, 22:07
ruffus_kz   Если портировать какую-либо программу для работы с...   23.5.2008, 16:28
_brn   Необходима помощь в доводке до ума этого проекта...   24.5.2008, 9:32
Ivan A-R   Не удается получить его с svn. Какая-то ошибка 20...   24.5.2008, 12:06
_brn   Так. появилось свободное время. Могу заняться. Чт...   28.5.2008, 17:32
Abram   Так. появилось свободное время. Могу заняться. Ч...   28.5.2008, 19:37
BeZ   все нормально собирается... я собирал это... може...   28.5.2008, 18:53
BeZ   И так, в процессе тренировки и изучении SDK родила...   29.5.2008, 12:45
FFEHOT   а на висту нельзя SDK поставить? Не задавай глупы...   29.5.2008, 14:31
_brn   Теперь не может найти файлы, лежащие в /arm-eabi/a...   29.5.2008, 15:05
eug   Теперь не может найти файлы, лежащие в /arm-eabi/...   29.5.2008, 18:19
nairosha   http://developer.motorola.com/docstools/mo...vame/...   30.5.2008, 8:35
BeZ   Обновлено приложение TestApp. Продолжаем изучение ...   30.5.2008, 11:42
BeZ   в svn появился терминал для V8, разместил tikva ...   1.6.2008, 15:26
Abram   На v8 на такой строке ZLabel* label = new ZLabel...   3.6.2008, 12:28
Alternative_NickName   Выкладываю рабочий MPlayer для V8. Без разницы, к...   3.6.2008, 14:19
Abram   Выкладываю рабочий MPlayer для V8. Без разницы, ...   3.6.2008, 20:26
BeZ   у меня была идея эти пути брать из конфига...   3.6.2008, 21:18
Abram   у меня была идея эти пути брать из конфига... Не...   3.6.2008, 23:16
Alternative_NickName   Abram, установка в память тела просто необходима...   4.6.2008, 3:52
stpavel   Решил ради интереса попробовать что нибудь скомпи...   7.6.2008, 4:48
BeZ   stpavel там указываются пути к либам в первом соо...   7.6.2008, 4:50
Abram   Чужой Makefile точно не поможет. Я обычно пишу сво...   7.6.2008, 8:23
Tim2005   Возник один вопросик:) Как сделать так, чтобы теле...   19.6.2008, 10:26
Abram   Возник один вопросик:) Как сделать так, чтобы тел...   19.6.2008, 11:00
BeZ   Tim2005, хорошо что только один вопрос ))) у меня...   19.6.2008, 10:41
Tim2005   Использовал eventFilter, не катит :( , хотя может ...   19.6.2008, 19:22
Abram   Использовал eventFilter, не катит :( , хотя может...   19.6.2008, 22:11
cr_az   Abram, вопрос такой к тебе: скомпил да запустил, а...   19.6.2008, 22:43
Abram   Abram, вопрос такой к тебе: скомпил да запустил, ...   19.6.2008, 23:35
BeZ   cr_az, можно только в консоль вывод делать, деьаг...   20.6.2008, 4:29
UginC390   Скачал я andLinux вот этот http://downloads.source...   21.6.2008, 19:00
lol2Fast4U(tm)   Вопрос к разрабам: Вот хочу dpkg на з6. Могу ли я ...   24.6.2008, 7:48
BeZ   скорее всего править... жди POL 0.4 Добавлено поз...   24.6.2008, 7:50
Abram   ИМХО он там просто не нужен. Не те задачи, чтобы ...   24.6.2008, 11:44
lol2Fast4U(tm)   А MPKG? На сколько я понял, он есть в телефоне (Ко...   29.6.2008, 16:47
BeZ   Zorge.R, да понял я, что он имел в виду.... что I...   4.7.2008, 5:05
_brn   Идей нету что делать, отсюда и отсутствие интереса...   5.7.2008, 4:52
Abram   Идей нету что делать, отсюда и отсутствие интерес...   5.7.2008, 6:07
_brn   Есть.   5.7.2008, 10:35
BeZ   _brn, идей вагон :D времени и рук на все не хвата...   5.7.2008, 12:13
grs93   а реально ли написать плеер с настраиваемым эквала...   5.7.2008, 12:30
Abram   а реально ли написать плеер с настраиваемым эквал...   5.7.2008, 14:44
UginC390   Abram svn co https://ezx.darktech.org/svn/trunk/...   6.7.2008, 9:16
BeZ   UginC390, в каую папку делаешь check out? у тебя ...   6.7.2008, 9:44
UginC390   [b]UginC390, в каую папку делаешь check out? у т...   6.7.2008, 9:58
BeZ   UginC390, интернет то пашет на wmware ?   6.7.2008, 10:57
UginC390   UginC390, интернет то пашет на wmware ? всё раб...   6.7.2008, 11:22
lol2Fast4U(tm)   "Нет бы спросили - а как сделать то-то или то...   6.7.2008, 11:21
Abram   "Нет бы спросили - а как сделать то-то или т...   6.7.2008, 11:25
lol2Fast4U(tm)   сразу патч не надо (хотя хорошо бы :) ) Кстати - ...   6.7.2008, 12:30
Abram   сразу патч не надо (хотя хорошо бы :) ) Кстати -...   6.7.2008, 12:42
lol2Fast4U(tm)   Посмотрел - libc.so.6 есть. Так в чём проблемы?   6.7.2008, 13:02
_brn   Посмотрел - libc.so.6 есть. Так в чём проблемы? ...   6.7.2008, 16:11
BeZ   lol2Fast4U(tm), думается, что в руках какой ты PE...   6.7.2008, 13:47
lol2Fast4U(tm)   Спасибо) Точно про ссылку забыл...) BeZ, 1)Демки ...   6.7.2008, 20:41
Abram   lol2Fast4U(tm), вот не понимаю я паразитов, котор...   6.7.2008, 21:35
Abram   Обновил некоторые библиотеки в тулчейне (самое гла...   7.7.2008, 16:59
BeZ   Tim2005, вопрос так и остался повисшим? Я вот се...   8.7.2008, 13:18
Abram   BeZ, Не знаю как он - на я делал примерно так же ...   8.7.2008, 22:57
BeZ   Кто знает, как в фон свернуть GUI приложение? Чтоб...   9.7.2008, 5:02
BeZ   Как вытащить иконку из скина? [size=1][color=#333...   11.7.2008, 5:29
Tamahome   А что если делать демон и отдельно гуй? тогда из г...   23.7.2008, 5:24
segnini   Hello, please excuse my English, im from Venezuela...   24.7.2008, 17:12
Abram   segnini, . /etc/initservices/services/ezxenv.sh a...   24.7.2008, 19:47
segnini   Thanks Abram, but im not creator of mods! is o...   24.7.2008, 19:55
Abram   segnini, Please don't use translator. Did you...   24.7.2008, 20:19
segnini   yes is at /ezxlocal/download/appwrite/setup/pep_se...   24.7.2008, 20:30
Abram   segnini, Strange. Did you try looking on the phon...   24.7.2008, 20:49
segnini   Lol thanks Abram but is not launched , the screen ...   24.7.2008, 20:53
Abram   segnini, I'm not using MSN or ICQ. Only XMPP ...   24.7.2008, 21:06
segnini   Ok no problem. Another isue i have is i need to de...   24.7.2008, 21:15
rusiki   /arm-eabi/lib/gcc/arm-linux-gnueabi/3.4.3/../../.....   25.7.2008, 12:28
lol2Fast4U(tm)   rusiki, create symlink (as root) ln -s (path to y...   29.7.2008, 8:00
dimichxp   lol2Fast4U(tm), быдло детектед.   29.7.2008, 8:08
rusiki   lol2Fast4U(tm), the sdk is already placed in /arm-...   1.8.2008, 16:25
lol2Fast4U(tm)   rusiki, try to compile zGUI from svn ( look at ez...   4.8.2008, 18:47
Velizariy   Люди у меня такой вопрос, а на FreePascal'е мо...   6.8.2008, 12:36
Abram   Люди у меня такой вопрос, а на FreePascal'е м...   10.8.2008, 11:53
Velizariy   Да, можно собрать компилятор и писать. Но GUI так...   10.8.2008, 13:56
serega011   Velizariy Паскаль конечно хорошо, но блин лучше вы...   10.8.2008, 14:32
Velizariy   Velizariy Паскаль конечно хорошо, но блин лучше в...   10.8.2008, 17:57
Kolyan_ufalug_   Си конечно хорошо, но не переношу я этот жуткий с...   10.8.2008, 18:57
Velizariy   Да, древнющий Qt 2 в моторолах, на котором ещё KD...   10.8.2008, 19:35
BeZ   Velizariy, я тоже так говорило и думал... под мот...   11.8.2008, 5:59
Velizariy   А если я вот на этом откомпилю прогу она запустить...   11.8.2008, 7:42
BeZ   Velizariy, попробуй, чего спрашивать? нам расскаж...   11.8.2008, 8:00
Velizariy   Velizariy, попробуй, чего спрашивать? нам расска...   11.8.2008, 8:15
shaban   Легко ли переделать скрипт в нативное приложение? ...   6.9.2008, 15:08
Abram   shaban, Для того, чтобы писать, нужно знать язык....   6.9.2008, 22:38
cTrelok13   Все конечно великолепно, но как можно посмотреть д...   22.9.2008, 18:15
BeZ   cTrelok13, доков нет, только методом тыка... ну и...   23.9.2008, 10:47
lol2Fast4U(tm)   и наши исходники, конечно же... Так ezx.darktech....   26.9.2008, 13:15
BeZ   lol2Fast4U(tm), у Абрама спроси   27.9.2008, 5:47
UginC390   Вопрос! Начал разбираться более плотно с натив...   14.10.2008, 15:41
Abram   Вопрос! Начал разбираться более плотно с нати...   14.10.2008, 17:06
BeZ   Abram, ничего странного... есть спец функции... ...   14.10.2008, 18:12
4 страниц V  1 2 3 > » 

Разработка софта под MOTOMAGX, начну небольшой HOWTO · Motorola ROKR Z6, RIZR Z6, Z6w, RAZR² V8 · Forum
 

Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25.4.2024, 8:02

Форум живёт: