2014-12-25 9 views
6

stlport'u Android Studio'daki gradle projesine bağlama konusunda bir sorunum var.Android Studio grad projesinde STL ile NDK'yı kullanma

Eclipse Android projesi NDK'yı kullanarak Android Studio'ya taşındı.

proje STL kullanır ve .mk dosyayı görmezden gradle görünüyor

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_MODULE := MyProject 
LOCAL_SRC_FILES := jniapi.cpp renderer.cpp 
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv1_CM -ljnigraphics 

include $(BUILD_SHARED_LIBRARY) 

içeriği ile android.mk dosyayı var ve build.gradle dosyasına folowing kodu eklendi:

ndk { 
    moduleName "MyProject" 
    stl "stlport_shared" 
    ldLibs "log", "EGL", "android", "jnigraphics", "GLESv1_CM" 
    //No equivalent for the "include $(BUILD_SHARED_LIBRARY)" here 
} 
bu gradle bina başarılı oldu, ancak cihazdaki uygulamasını çalıştıran bir hataya neden oluyor

sonra:

27446-27446/com.example.test E/AndroidRuntime﹕ FATAL EXCEPTION: main 
java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "libstlport_shared.so" needed by "libMyProject.so"; caused by load_library(linker.cpp:745): library "libstlport_shared.so" not found 
+0

http://ph0b.com/android-studio-gradle-and-ndk-integration/ ile overide (ndk) eklentiye bölümünü okuyun öyle mi kendi 'Android.mk' –

cevap

3

Paylaşılan varyantı kullanıyorsanız, stlport paylaşılan kitaplığını Java kodunuza elle yüklemeniz gerekir. Paylaşılan varyantı gerekmiyorsa, stlport_static yerine belirtin:

ndk { 
    moduleName "MyProject" 
    stl "stlport_static" 
    ldLibs "log", "EGL", "android", "jnigraphics", "GLESv1_CM" 
    //No equivalent for the "include $(BUILD_SHARED_LIBRARY)" here 
} 
+0

bunu koy? Uygulamanızın build.gradle içinde –

+0

@ AndréFratelli. – Totoro

İlgili konular