Утерждения, которые я считаю истинными, но не уверен в их истинности. Просьба знатокам пофиксить. Вопросы.
1) C++ код для NDK будет скомпилирован в машинные инструкции конкретного камня.
2) Если C++ компилируется в JVM-код, то нафига бы тогда был нужен C++?
3) Мобильных процессоров много, значит приложение должно содержать 50 вариантов машинного кода для одного и того же C++ кода для 50 разных камней, на которых твоё приложение потенциально могут запустить.
3.1) Среда разработки NDK содержит 50 компиляторов под 50 камней и рожает 50 сборок твоего кода под все камни, на которые нацелена твоя разработка.
4) Обычно C++ применяют для реализации каких-то .so-шек, реализующих тяжёлые вычисления, а само приложение проще написать на Java. Оттуда C++-код подключается как java-модули и используется путём создания экземпляров классов определённого типа, только эти классы написаны на C++ и лежат в .so-шках.
5) Целиком приложения на C++ писать смысла мало и никто не пишет void main(...) под NDK.