«java-native-interface» etiketlenmiş sorular

Java Yerel Arabirimi (JNI), hem JVM uygulamalarına sistem yerel kodunu çalıştırma yeteneği hem de yerel kodun Java kodunu çalıştırma yeteneği (yeni JVM örnekleri oluşturarak) sağlar. JNI için en yaygın hedef diller, en azından Sun / Oracle JDK uygulamalarının yardımcı komutlar sağladığı C ve C ++ 'dır (kod sökme için javap, c kod üretimi için javah).

30
JNI paylaşılan Kitaplığı (JDK) yüklenemedi
Eclipse'i açmaya çalıştığımda , bir pop-up iletişim kutusu şöyle: JNI paylaşılan kütüphanesi "C: /JDK/bin/client/jvm.dll" `yüklenemedi. Bunu takiben Tutulma kuvveti kapanır. İşte yapmak istediğim birkaç nokta: Bu yolda bir şey olup olmadığını kontrol ettim. Var. Eclipse ve Java SE Geliştirme Kitlerim 64-bit. Sistemimi kontrol ettim ve 64 bit işleyebilir. Bu sorunu …







2
JNI jstring'i char'a dönüştürüyor *
jstringJNI kullanımıyla veri türü olarak Java'dan C koduna bir URL dizisi geçirdim . Ve kütüphane yöntemimin char *as url'ye ihtiyacı var . Nasıl dönüştürebilirsiniz jstringiçinde char *? Not: C'de jcharArray kullanmanın herhangi bir avantajı var mı? (ör char []. yerel yöntemde dizge yerine geçirme )

7
Yerel bir kitaplık ve bir JNI kitaplığı bir JAR içinde nasıl paketlenir?
Söz konusu kütüphane Tokyo Kabinesi . Yeniden dağıtım sorunlarından kaçınmak için yerel kitaplığı, JNI kitaplığını ve tüm Java API sınıflarını tek bir JAR dosyasında bulundurmak istiyorum. GitHub'da buna bir girişim var gibi görünüyor , ancak Gerçek yerel kitaplığı içermez, yalnızca JNI kitaplığını içerir. Leiningen'in yerel bağımlılık eklentisine özgü görünüyor (yeniden …

15
__android_log_print için tanımsız referans
Yapma dosyamın nesi var? Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo LOCAL_SRC_FILES := foo.c LOCAL_EXPORT_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) foo.c #include <string.h> #include <jni.h> #include <android/log.h> #define LOG_TAG "foo" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__) void test() { LOGI("test"); } ndk-build foo.c:9: undefined reference to `__android_log_print'

9
Varsayılan paketten bir sınıf nasıl alınır
Possible Duplicate: Varsayılan paketteki java sınıflarına nasıl erişilir? Eclipse 3.5 kullanıyorum ve varsayılan paket ile birlikte bazı paket yapılarına sahip bir proje oluşturdum. Varsayılan pakette bir sınıfım var - Calculations.java ve bu sınıfın herhangi bir pakette (örneğin içinde com.company.calc) kullanılmasını istiyorum. Varsayılan pakette bulunan sınıfı kullanmaya çalıştığımda, bana bir derleyici …

4
Android'de JNI altında SIGSEGV'yi (segmentasyon hatası) nasıl yakalayabilirim ve bir yığın izlemesi alabilirim?
Ben hareket ediyorum bir proje Yeni Android Yerel Geliştirme Kiti (yani JNI) ve bunun yerine, diyalog raporlama güzel kazasında sunmak için (ayrıca SIGILL muhtemelen SIGABRT, SIGFPE) gerçekleşmesi gereken, SIGSEGV yakalamak istiyorum (veya daha önce) şu anda olanlardan: sürecin ani ve belirsiz ölümü ve muhtemelen işletim sisteminin onu yeniden başlatma girişimleri. …


2
Android'de c ++ 'dan bir java yöntemini çağırma
Java yerel yöntemi çağırırken C ++ 'dan basit bir Java yöntem çağrısı almaya çalışıyorum. İşte Java kodu: public class MainActivity extends Activity { private static String LIB_NAME = "name"; static { System.loadLibrary(LIB_NAME); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); …

17
Bir JNI projesinde UnsatisfiedLinkError (bağımlı kitaplıklar bulunamıyor) nasıl düzeltilir
JNI kullanan bir Java projesi üzerinde çalışıyorum. JNI, kendi yazdığım özel bir kitaplığı çağırıyor, diyelim ki mylib.dll ve bu, libsndfile-1.dll adlı üçüncü taraf kitaplığına bağlı. Programımı çalıştırdığımda çöküyor java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries. Bu siteyi (ve diğerlerini) araştırdım ve bir dizi düzeltmeyi denedim: Bağımlılık gezgini koştum. DW birkaç uyarı …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.