【发布时间】:2015-02-23 02:56:06
【问题描述】:
我在将 stlport 链接到 Android Studio 中的 gradle 项目时遇到问题。
使用 NDK 的 Eclipse Android 项目迁移到 Android Studio。
该项目使用 STL,我有包含内容的 android.mk 文件
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)
似乎 gradle 忽略了 .mk 文件,我将以下代码添加到 build.gradle 文件中:
ndk {
moduleName "MyProject"
stl "stlport_shared"
ldLibs "log", "EGL", "android", "jnigraphics", "GLESv1_CM"
//No equivalent for the "include $(BUILD_SHARED_LIBRARY)" here
}
这个gradle构建成功后,但是在设备上运行应用会报错:
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
【问题讨论】:
-
ph0b.com/android-studio-gradle-and-ndk-integration 阅读有关使用您自己的“Android.mk”覆盖 (ndk) 插件的部分
标签: android stl android-ndk android-studio android-gradle-plugin