GrabDuck

CrystaX

:

Набор инструментов для C/C++ разработки под Android

Мы предлагаем CrystaX NDK - широко распространенный открытый продукт, используемый в многочисленных коммерческих и open-source проектах. Почему не использовать Android NDK от Google? Потому что CrystaX NDK лучше, и в то же время остается совместимым с Android NDK от Google. По существу, CrystaX NDK является прозрачной заменой для Android NDK от Google, позволяя разработчикам использовать его полностью так же, как и оригинальный. Однако, в отличие от Google NDK, CrystaX NDK предлагает разработчикам дополнительные возможности и улучшения.

Основные цели проекта CrystaX NDK:

  • Лучшее соответствие стандартам
  • Легкое портирование существующего кода на Android
  • Новые возможности для разработки на C/C++ под Android

Заинтересовались? Узнайте подробнее, что CrystaX NDK предлагает разработчикам под Android!

Новости

Новый CrystaX NDK 10.3.2 доступен для скачивания. Это поправочный выпуск, в котором мы исправили критическую проблему в реализации фунции getauxval(). Здесь можно найти более подробную информацию.

Далее

Как известно, скоро выйдет GCC 6. В нем содержится множество улучшений, включая экспериментальную поддержку новых возможностей C++17 (концепты, std::invoke, std::shared_mutex и т.д.) и значительно более "умные" предупреждения, помогающие разработчикам писать безопасный и надежный код. Фактически GCC 6 со всеми включенными предупреждениями делает некоторые статические анализаторы кода неактуальными.

Бессмысленно описывать все новые возможности GCC 6 в этой статье, поэтому я не буду. Те, кому это интересно, могут прочитать об этом на других сайтах, распространяющих информацию о грядущем релизе GCC 6 (к примеру, здесь или здесь). Однако я хотел бы рассказать об использовании GCC 6 для разработки под Android и, в частности, о будущем GCC в составе CrystaX NDK.

Далее

Новый CrystaX NDK 10.3.1 доступен для скачивания. Это поправочный выпуск, в котором было исправлено несколько критических ошибок. Здесь вы можете увидеть полный список.

Далее

Ранее мы описали как использовать CrystaX NDK в Android Studio. С того времени Google анонсировал новый (экпериментальный) Gradle плагин с улучшенной поддержкой NDK в Android Studio. Давайте посмотрим, как использовать CrystaX NDK с этим новым плагином.

Будучи последовательными, мы обновим предыдущую статью, добавив в нее новые условия - т.е. это будет все то же простое UI приложение, использующее Boost.Serialization. Использование Boost необязательно для понимания новой схемы работы с экспериментальным Gradle плагином; тем не менее, мы включили пример работы с Boost для большей полноты примера.

Далее

Мы рады сообщить, что новый выпуск CrystaX NDK 10.3.0 готов к использованию!

Наиболее важные изменения в этом выпуске:

  • Новые GCC и LLVM/clang.
  • Сильно улучшена поддержка Objective-C v2.
  • Добавлена поддержка Python (2.7 и 3.5) для Android.

Кроме этого, починено много ошибок и сделано огромное количество улучшений. Ниже вы можете ознакомиться с более подробной информацией.

Далее

Мы рады сообщить, что новый выпуск CrystaX NDK 10.2.0 готов к использованию!

Мы работаем над проектом согласно обещаниям, и в этом выпуске мы исправили много ошибок и внесли большое количество улучшений. Ниже вы можете ознакомиться с основными фичами CrystaX NDK 10.2.0.

Далее

Мы запустили кампанию по сбору средств на сайте BountySource для продолжения разработки CrystaX NDK как открытого, доступного всем разработчикам проекта.

Мы просим всех, заинтересованных в дальнейшем развитии средств нативной разработки под Android, помочь нам. Мы будем очень признательны за любую помощь - будь это финансирование нашего проекта, помощь в разработке или дальнейшее распространение информации о проекте.

Далее

В предыдущей статье мы рассмотрели как собирать простые исполняемые файлы под Android с использованием библиотек Boost. Это хороший пример для понимания того, как все работает "изнутри"; однако для практических целей хорошо было бы уметь собирать готовые к использованию приложения, которые можно залить в магазин приложений Google Play, к примеру.

Далее

У вас есть код, который использует библиотеки Boost C++? Вы хотите максимально простым способом портировать этот код под Android? Или, может быть, вы просто начинаете новый проект под Android и хотите использовать Boost с самого начала? С CrystaX NDK 10.1.0 вы получаете возможность разрабатывать под Android на C++ с использованием Boost прямо "из коробки".

Далее

По определению, хорошее приложение должно быть удобно для пользователя. А удобство использования, помимо всего прочего, означает, что приложение должно разговаривать с пользователем на его родном языке. Но простого перевода слов и предложений недостаточно, разные культуры отличаются друг от друга не только языками, но и, например, способами записи дат, обозначением денежных единиц, правилами преобразования прописных букв в строчные и т.д.. Вся эта информация в программировании собрана в так называемых локалях.

Способы работы с локализованными вводом и выводом описаны в международных стандартах языков программирования ISO C и ISO C++, поэтому обычно достаточно просто следовать стандарту, чтобы должным образом локализовать ваше приложение. К сожалению, этот простой метод не работает на Android для приложений, написанных на C/C++. Библиотека libc на Android (Bionic) не поддерживает локали, поэтому единственный способ использовать локализованный ввод/вывод в коде на C/C++ -- это реализовать локализацию на языке Java и потом использовать ее в коде на C/C++ через JNI. Очевидно, подобный подход вносит существенные накладные расходы во время исполнения программы, но это единственный вариант, если вы используете Google NDK.

Далее