2011-05-27 17 views

cevap

8

Android'de C++ uygulamalarını doğrudan çalıştıramazsınız.
Android yalnızca Android SDK kullanılarak yazılmış uygulamaları çalıştırabilir, ancak evet Android için yerel (C/C++) kitaplıklarınızı yeniden kullanabilirsiniz.

Android için tüm yerel kitaplıkları yeniden derlemeniz gerekecektir. Ve siz sadece kullanmayı planladığınız tüm üçüncü taraf ana bilgisayar kütüphaneleri için kaynak koduna ihtiyacınız var çünkü genellikle bu kütüphaneleri Android'in dışında derlediğimizde ve bağladığımız zaman, bunlar glibc ile bağlantılıdır ancak ne yazık ki Android, glibc'yi liscence ve performans sorunları nedeniyle kullanmaz. Android, libc adlı glibc'in sulandırılmış bir sürümünü kullanır. Her zamanki işlevselliklerin çoğu için sembol isimlerini glibc ile eşleştirir. Ama bildiğim kadarıyla libc dizeleriyle ilgili bazı işlevlere sahip değil ve kesinlikle bir çok posix desteğine sahip değil. Yerel kitaplıklarınız, kullanımdan kaldırılmış işlevlerden herhangi birini kullanıyorsa, libc tarafından desteklenen alternatif işlevler kullanılarak ve lib'lerinizi buna göre kodlayarak bunlar için geçici çözüm bulmanız gerekir. Ayrıca, Java'yı (Android uygulaması/fwk) yerel dünyaya (C++) bağlamak için NDK'u kullanmanız gerekecektir. Ve bunun üzerine bir Android uygulaması yaz. Bu benim kulağımda, Android'deki (Android porting) yerel kütüphaneleri derlemek deneyimlerimde oldukça basit olmasına rağmen, geleneksel olarak, hiçbir başarıya ulaşmadığı için çok zaman alıcı olmuştur.

0

Java Yerel Arabirimi veya "JNI" yi isteyeceksiniz.

Bkz. "Java Native Interface Wiki" "Android JNI Tips" ve içindeki bağlantılar. Bunu devam ettirmek ve nasıl kullanıldığına alışmak biraz iş. C ile verilen referanslardan bunu başardım ve tüm adımları izlerseniz daha fazla yardım almadan biraz zaman geçtikten sonra işe yarayacaktır.

İlgili konular