Lazarus + Android

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Prostor
незнакомец
Сообщения: 1
Зарегистрирован: 30.03.2013 21:26:44

Lazarus + Android

Сообщение Prostor »

Добрый день.
Не первый день бьюсь с настройкой Лазаря + Android.

Делаю все по инструкции http://wiki.lazarus.freepascal.org/Cust ... Android/ru
(Using the pre-compiled compiler in Windows)
, но при попытке компиляции или сборки примера \examples\androidlcl\androidlcltest.lpi
выдается ошибка : registerfcl.pas(0,0) Fatal: Can not find unit process used by RegisterFCL. Check if package FCL is in the dependencies.

Подскажите в чем может быть проблема. Очень нужен компилятор для Android. А лучше закачайте куда-нибудь собранную IDE под Windows для Android.

Заранее спасибо за помощь.
absdjfh
новенький
Сообщения: 60
Зарегистрирован: 21.01.2012 13:59:00

Сообщение absdjfh »

Check if package FCL is in the dependencies.

Вы это сделали? Весьма вероятно, что нужно просто добавить этот пакет в зависимости.
(инспектор проекта - добавить - новая зависимость - имя пакета - FCL - ок)
Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

Сообщение VirtUX »

Prostor писал(а):Делаю все по инструкции http://wiki.lazarus.freepascal.org/Cust ... Android/ru

Разрешите попросить Вас написать инструкцию, - как Вам удалось собрать все под Windows? Я два дня пытался, перечитал кучу документации и по CygWin, и по ANT, и т.д.. Но так и не смог ничего сделать :( Сборка самого кросс-компилятора заканчивалась ошибкой, которая уже долгое время висит без ответа на сайте Lazarus. CodeTyphon - мне просто вынес мозг напроч. Уже почти все переписал на Java под ADT. Но все же хочется нативности с Lazarus...
Konung
новенький
Сообщения: 16
Зарегистрирован: 19.11.2011 02:46:24

Сообщение Konung »

ап к теме.
что тоже не выходит каменный цветок. сделал так:
- WIN7 64bit
- стоял lazarus 1.0.4 64bit, fpc 2.6.0 64bit
- поставил SDK и NDK в c:\Program Files\Android\SDK\ и c:\Program Files\Android\NDK\ соответственно.
- сказал crosscompiler fpc4android_2_5_1_2_apr_2012.zip и залил в соответствующие папки
- запускаю лазарь. открываю (к примеру) из пакета lazarus-ccr bindings\android-ndk\examples\opengltest\ndkopengltest.lpi при попытке собрать - ругаетсо на
ndkopengltest.pas(0,0) Fatal: Can not find unit system used by ndkopengltest.

де то что то пропустил? или определенные версии/битности надо юзать?
Konung
новенький
Сообщения: 16
Зарегистрирован: 19.11.2011 02:46:24

Сообщение Konung »

разобрался. всё шуршит...
однако стандартный LCLTest хоть и собрался, но работать стал только под 2.3.3. на 4.0.1, 4.1.2, 4.2.1 - не захотел. ставится. запускается, но - черный экран...

ммм... собственно тут есть кто баловался сим? или может присоветуете де есть активно обсуждаемое по теме Lazarus/FreePascal + Android ?
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

Konung, а похвастайтесь статьёй - как получилось? ^_^
Konung
новенький
Сообщения: 16
Зарегистрирован: 19.11.2011 02:46:24

Сообщение Konung »

Собственно - всё по дефолту...
я не стал мучать свой лазарь и пошел простым путем... для начала-для проб, так сказать.
- в виртуалке воткнул win xp 32бит.
- в ней - лазарь 1.0.4 (что было под рукой)
- развернул скачанные последние SDK и NDK
- установил JDK 6.0.43 (провбовал последний - 7-й. не прет. на этапе сборки не находит кой чего)
- для лазаря скачал собранный для винды кросскомпилер. (fpc4android_2_5_1_2_apr_2012). раскидал его в соответствующие папки (я там с путями напортачил. так что повнимательне ;) )
- отрываем лазарь. тестовый проект из примеров. в нем в свойствах надо прописать путь к развернутой вами NDK. работают версии 8,9,14. хотя разницы я никакой не заметил (либы - идентичны).
- там же в свойствах - имя исполнимого файла (в сам деле - просто имя собираемой либы) надо убрать расширение ".so". это ".so" он добавть при компиляции сам
- собственно - собираем. если всё верно написано - соберется без проблемм

- далее в папке проекта есть батники generate_debug_key и build_debug_apk. в них надо корректно прописать пути к SDK, NDK... а так же в последнем корректно прописать пароль коий вы вводили при генерации ключа запуская первый.

собственно всё. на выходе должен получиться готовая APK-шка. для начала для тестов - этого вполне гуд.
некоторый функционал кой какой присутствует. интерфейс, конечно, убог, но имеющий руки да улучшит ;) .

пока меня больше занимает - отчего не пускается на 4.х.х ? . тока начал разбираться. надеюсь это тока мое непонимание, а не "невозможносьть" в принципе...
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

пока меня больше занимает - отчего не пускается на 4.х.х ? . тока начал разбираться. надеюсь это тока мое непонимание, а не "невозможносьть" в принципе...

Может глючит и за старой болезни лазруса включать в EXE кучу отладочной информации в друг он и в APK подгадил?
Konung
новенький
Сообщения: 16
Зарегистрирован: 19.11.2011 02:46:24

Сообщение Konung »

2 Alex2013

возможно... уже перепробовал разные версии сдк, ндк, отрубил вторую форму, на первой оставил только один TLabel, убрал DebugLn, всяко разно при Create формы... беспонту.
по умолчанию в тестовой проге в примерах отключены записи отладочной инфы и прочее... может можно как то еще почистить в .so-шках но я не в курсе.
пока - одинаково. в версии 2.3.3 - шуршит. в 4.2.1 - неть :(.
starcomputer
новенький
Сообщения: 11
Зарегистрирован: 10.06.2010 23:20:27

Сообщение starcomputer »

...
aladkoi
незнакомец
Сообщения: 1
Зарегистрирован: 13.12.2013 16:31:40

Сообщение aladkoi »

Все работает и под 4.x
Делал согласно http://forum.lazarus.freepascal.org/ind ... 414.0.html
Там готовая сборка под lazarus v1.1
В настройках проекта в Compiler options->Paths->Libraries(-FI) надо указать путь к android-ndk-r9\platforms\android-16\arch-arm\usr\lib\ (что есть android 4.1)
Строим so библиотеку из lazarus
Указываем все пути, правим в generate_debug_key.bat
В default.properties указываем target=android-16
Запускаем generate_debug_key.bat для получения bin/LCLDebugKey.keystore
Запускаем ant debug. Если ошибок нет, в bin получаем LCLExample-debug.apk
Запускаем эмулятор android 4.1
Запускаем adb install LCLExample-debug.apk
В эмуляторе запускаем прогу LCL test :)
Ответить