Могу ли я скомпилировать libjpeg, libpng и freetype для Android?
Да, вам придется перекомпилировать все нативные библиотеки специально для Android.Да, вам нужен исходный код для всех сторонних собственных библиотек, которые вы планируете использовать просто потому, что обычно, когда мы компилируем и связываем эти библиотеки за пределами Android, они связаны с glibc, но, к сожалению, Android не использует glibc из-за проблем с лицензией и производительностью.Android использует разбавленную версию glibc под названием libc.Он имеет соответствующие имена символов для glibc для большинства обычных функций.Но, насколько я знаю, libc не имеет какой-либо функциональности, связанной со строками, и определенно не имеет поддержки posix.Если ваши нативные библиотеки используют какую-либо устаревшую функциональность, вам придется найти обходной путь для них, используя альтернативную функциональность, поддерживаемую libc, и соответствующим образом кодируя свои библиотеки.
Кроме того, как вы правильно заметили, вам придется использовать NDK для взаимодействия Java (Android app / fwk) с собственным миром (C ++).
Хотя это звучит довольно просто, по моему опыту, компиляция нативных библиотек на Android (портирование Android) традиционно занимала много времени без гарантии успеха.