Phiên bản ngắn: làm việc với C ++ trên Android là có thể và dễ dàng hơn với mỗi phiên bản SDK / NDK của Android, nhưng khó hơn so với làm việc với Java.
Phiên bản dài:
Đối với mỗi phiên bản, Google bổ sung thêm nhiều chức năng hơn cho Bộ công cụ phát triển bản địa Android và làm cho nó ngày càng độc lập hơn với mã Java.
Đọc http://developer.android.com/sdk/ndk/overview.html để biết thêm chi tiết:
Viết một hoạt động gốc, cho phép bạn thực hiện các cuộc gọi lại vòng đời trong mã gốc. SDK Android cung cấp lớp NativeActivity, đây là lớp tiện lợi thông báo mã gốc của bạn về bất kỳ cuộc gọi lại vòng đời hoạt động nào (onCreate (), onPause (), onResume (), v.v.). Bạn có thể thực hiện các cuộc gọi lại trong mã gốc của mình để xử lý các sự kiện này khi chúng xảy ra. Các ứng dụng sử dụng các hoạt động gốc phải được chạy trên Android 2.3 (API cấp 9) trở lên. Bạn không thể truy cập các tính năng như Nhà cung cấp dịch vụ và nội dung nguyên bản, vì vậy nếu bạn muốn sử dụng chúng hoặc bất kỳ API khung nào khác, bạn vẫn có thể viết mã JNI để làm như vậy.
Vấn đề chỉ là nếu bạn sử dụng NDK gần đây nhất, bạn sẽ không thể triển khai và rất nhiều phiên bản Android không gần đây.
Dù sao, ngay cả với các phiên bản NDK trước đây, bạn có thể có mã Java tối thiểu (để tương tác với HĐH) và mã ứng dụng đầy đủ trong C ++ hoặc bất cứ thứ gì nguyên gốc.
Cũng có những nỗ lực trong việc giúp các nhà phát triển bản địa hoạt động hoàn toàn trong C hoặc C ++ thông qua các plugin IDE như Vs-Android này, đây là một plugin cho Visual Studio 201x ẩn tất cả quá trình biên dịch và tạo từ bạn: http://code.google.com / p / vs-android /
Ngoài ra, nếu bạn có kế hoạch chuyển ứng dụng của mình sang HĐH khác, thì sử dụng C ++ cho phần lõi của ứng dụng của bạn (có thể có ngôn ngữ kịch bản trên đầu) là một ý tưởng hay. Nó chỉ tốn kém hơn về thời gian phát triển so với các lựa chọn thay thế khác - vì lý do cụ thể cho C ++ và việc triển khai các công cụ dành cho nhà phát triển, ví dụ, quá nhiều thời gian biên dịch có thể giết chết năng suất hiệu quả của bạn.
Điều đó đang được nói, đó không phải là cách dễ nhất để làm việc trên các ứng dụng di động.