Самый простой способ скомпилировать общую библиотеку C на основе автоинструментов для Android?

У меня есть кроссплатформенная библиотека C, которую мне нужно скомпилировать для Android в виде файла *.so. Библиотека состоит из множества файлов .c и .h и использует автоинструменты в качестве встроенной системы. (./configure && make dep && make). Афаик, библиотека не зависит от других библиотек, кроме libc и OpenSSL (которые должны присутствовать на Andriod).

Я пытаюсь найти самый простой (самый быстрый в терминах или без необходимости читать сотни страниц руководств, а затем применять подходы try && fail brute-force для выполнения задачи) способ получить библиотеку с моей машины в виде исходного кода. , и в телефоны Android как .so. Доступ к библиотеке в конечном итоге будет осуществляться из собственного интерфейса библиотеки Java. Для разработки у меня на столе есть машины с Windows и Debian.


person jgaa    schedule 16.07.2010    source источник


Ответы (2)


Если вам повезло и autotooled проект настроен правильно, вы можете выполнить кросс-компиляцию, запустив (это пример кросс-компиляции для windows с помощью mingw, я не знаю, что такое префикс для Android):

./configure --host=i586-pc-mingw32

Затем он попытается найти компиляторы с префиксом i586-pc-mingw32-, поэтому i586-pc-mingw32-gcc, вероятно, будет первым найденным и использованным. Для вашего Android devkit посмотрите, как называется ваш двоичный файл компилятора, и угадайте значение хоста, исходя из этого.

person Jack Kelly    schedule 15.09.2010

В итоге мы вручную создали проект Android NDK со всеми необходимыми файлами.

person jgaa    schedule 04.01.2013