Сборка iconv под Android NDK

Недавно встала передо мной в полный рост проблема перевода различных кодировок на платформе Android.

Казалось бы, любой java-разработчик тут должен усмехнуться и молча ткнуть пальцем в обычнейший String, — мол, всё уже украдено до нас, знай только Charset передай, или просто имя кодировки. И здесь бы я с ним согласился, набил нужный код и закрыл тему, но только вот задачу эту потребовалось решить в рамках NDK, на C++. И хотя форумы пестрят пикантными советами использовать всё те же вызовы Java через JNIEnv, очевидно, что метод сей сильно паршив по производительности, надёжности, да и просто по красоте, потому годится далеко не всегда и не везде.

В голову сразу же приходят (ну или: гуглом сразу же находятся) два очевидных решения: ICU и libiconv. Читать далее