Tôi không chắc chắn câu trả lời này hữu ích như thế nào cho ứng dụng hiện tại của bạn, nhưng nó có thể hữu ích cho các ứng dụng tiếp theo mà bạn sẽ phát triển.
Như iOS không sử dụng Java như Android, lựa chọn của bạn khá hạn chế:
1) nếu ứng dụng của bạn được viết chủ yếu trong C/C++ sử dụng JNI, bạn có thể viết một wrapper và giao diện nó với iOS (tức là cung cấp gọi lại từ iOS đến hàm JNI viết của bạn). Có thể có các khung công tác giúp bạn làm điều này dễ dàng hơn, nhưng vẫn còn vấn đề tích hợp ứng dụng và thích nghi nó với khung công tác (và dĩ nhiên thực tế là ứng dụng phải được viết bằng C/C++).
2) viết lại cho iOS. Tôi không biết liệu có bất kỳ công ty tốt nào làm điều này cho bạn hay không. Ngoài ra, do nhiều ứng dụng có thể được viết có thể sử dụng các dịch vụ và API khác nhau, có thể không có bất kỳ phần mềm nào có thể chuyển cho bạn (tôi đoán loại phần mềm này giống như mỏ vàng heh) hoặc làm làm tốt lắm.
3) Tôi nghĩ rằng có các trình chuyển đổi Java-> C/C++, nhưng sẽ không giúp ích gì cho bạn khi nói đến sự khác biệt về API. Ngoài ra, bạn có thể thấy mình đang gặp khó khăn hơn để có được mã được chuyển đổi hoạt động trên bất kỳ nền tảng nào thay vì viết lại ứng dụng của bạn từ đầu cho iOS.
Sự cố phụ thuộc khá nhiều vào các dịch vụ và API mà ứng dụng của bạn đang sử dụng. Tôi chưa thực sự tìm kiếm điều này, nhưng có thể có một số API cung cấp chức năng nhất định trong Android mà iOS không cung cấp.
Sử dụng C/C++ và biên dịch nó cho nền tảng mong muốn giống như cách để phát triển nền tảng đa nền tảng Android-iOS-Win7Mobile. Điều này giúp bạn phần nào của lõi/nhân ứng dụng mà bạn có thể sử dụng để thực hiện logic ứng dụng thực tế.
Đối với các bộ phận cụ thể của hệ điều hành (API) mà ứng dụng của bạn đang sử dụng, bạn sẽ phải thiết lập giao diện liên lạc giữa chúng và lõi ứng dụng của bạn.
Nguồn
2011-03-14 09:28:01
Check-out https://www.codenameone.com/ mà là dựa trên một dự án mã nguồn mở/VM bằng cách riêng của chúng tôi làm –