Klemanco @ 30.08.2012, 15:18
- можно ли скомпилированные приложения запустить отдельно от среды разработки (вообще на другом андроиде)?
- какие библиотеки можно использовать?
Можно запускать отдельно, при условии что запускаться собранный бинарник будет с раздела, который примонтирован с разрешением на исполнение с него исполняемого кода. На большинстве устройств запуск разрешен только с раздела на котором находится корневая файловая система, /system и /data. Чтобы обойти это, CCTools перед запуском копирует исполняемый файл к себе в кэш и оттуда уже запускает. Чтобы выполнять с произвольного расположения, нужно рутование.
Альтернативный вариант, на стадии обдумывания - собирать приложение в пакет, готовый для установки стандартным для андроида методом. Для консольных приложений дополнительно включать в него терминал.
С приложением устанавливаются все стандартные библиотеки которые включены в NDK. Если нужно использовать чтото дополнительно, то можно положить это на SD карту и указать пути до заголовков и библиотек. Например, библиотека MyLib имеет директорию include с заголовками и lib с библиотекой libMyLib.a, копируем ее на SD карту в одноименную директорию (чтобы не делать мешанину файлов). При компиляции в дополнительных аргументах компиляции указываем:
-I/mnt/sdcard/MyLib/include -L/mnt/sdcard/MyLib/lib -lMyLib
если используется Makefile, то указываем пути до заголовков для C исходников:
CFLAGS += -I/mnt/sdcard/MyLib/include
для C++:
CXXFLAGS += -I/mnt/sdcard/MyLib/include
и до библиотеки:
LIBS += -L/mnt/sdcard/MyLib/lib -lMyLib