Selamün Aleyküm Arkadaşlar;
Ben yaklaşık 1 aya yakın bir süredir Java Native Interface (JNI) ile uğraşıyorum ve daha önce forumda da paylaştığım şekilde basit bir kod yazarak Java kodlarını C++ tarafından çalıştırmayı başardım. Lakin bu işi sadece masaüstü tarafında yapabildim, Android tarafında kodumu derlemeye çalıştığımda hatalarla karşılaştım.
Bununla ilgili birçok yabancı forumda (Qt forum, Stackoverflow, Android NDK ve SDK google+ sayfaları, Reddit) Android tarafında C++'dan Java kodu nasıl çalıştırılır diye konular açtım fakat bir çoğu yanıtsız kaldı ve yanıtlananlar da tatmin edici olmayan ve işe yaramayan yanıtlardı. Oracle'ın JNI sayfasını okudum ama bu dökümanlar sadece masaüstü tarafında JNI için yazılmış, Android için yok. Qt bunun için QtAndroidExtras adlı bir modül hazırlamış ve arka planda büyük ihtimalle JNI kullanıyor. Bu yüzden nasıl yaptıklarını anlamak için GitHub'dan kaynak kodlarını okumaya çalışıyorum, fakat bu da benim için zor oluyor.
Esas olarak sormak istediğim şey ise, böyle durumlarda bilmediğimiz konuyu ayrıntılı olarak öğrenebilmemiz ve uygulayabilmemiz için nasıl araştırma yapmamız gerekiyor? Mesela bu iş için konuşursak, C++ tarafından Java kodları (Android kodları) çağırabilenler nasıl bu iş için mantık kurabiliyor? JavaVM çalıştırmamız gerektiğini biliyorum ama bu sadece masaüstü için geçerli, Android'de olmuyor. Yani kaynakları nasıl değerlendirmeliyiz? Bir konuyu bilmiyorsak onu nasıl araştırmalıyız? Bu iş için en iyi öğrenme yöntemi ne olmalı? Teşekkürler!
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
Permalink
Reply