Коротка версія: робота з C ++ на Android можлива і простіша з кожною версією Android SDK / NDK, але це складніше, ніж працювати з Java.
Довга версія:
Для кожної версії Google додає більше функціональних можливостей Android Native Development Kit і робить його все більш незалежним від коду Java.
Прочитайте http://developer.android.com/sdk/ndk/overview.html для отримання більш детальної інформації:
Напишіть нативну діяльність, яка дозволяє реалізовувати зворотні дзвінки життєвого циклу у рідному коді. Android SDK забезпечує клас NativeActivity - клас зручності, який повідомляє ваш рідний код про будь-які зворотні виклики життєвого циклу активності (onCreate (), onPause (), onResume () тощо). Ви можете реалізувати зворотні дзвінки у своєму рідному коді, щоб обробляти ці події під час їх виникнення. Програми, які використовують вбудовані дії, потрібно запускати на Android 2.3 (API рівня 9) або новішої версії. Ви не можете отримати доступ до таких функцій, як Служби та Постачальники вмісту, так що, якщо ви хочете використовувати їх або будь-який інший API API, ви все одно можете написати JNI-код для цього.
Проблема полягає лише в тому, що якщо ви використовуєте найсвіжіший NDK, ви не зможете розгорнути і багато не останніх версій Android.
У будь-якому випадку, навіть із попередніми версіями NDK, ви можете мати мінімальний код Java (для взаємодії з ОС) та повний код програми на C ++ або будь-якому іншому.
Також намагаються допомогти місцевим розробникам повноцінно працювати на C або C ++ за допомогою плагінів IDE, як-от Vs-Android, який є плагіном для Visual Studio 201x, приховуючи від вас весь процес компіляції та генерації: http://code.google.com / p / проти-android /
Крім того, якщо ви плануєте перенести свою програму в іншу ОС, перехід із C ++ до основи вашої програми (можливо, з мовою сценаріїв зверху) - хороша ідея. Це просто дорожче на час розробки, ніж інші альтернативи - з причин, специфічних для C ++ та наявних реалізацій інструментів розробників, наприклад, занадто багато разів компіляції можуть вбити вашу ефективну продуктивність.
Однак, це не найпростіший спосіб роботи над мобільними додатками.