我刚从NDK的12.x更新到13.x,现在我得到以下崩溃引用:UnsatisfiedLinkError:dlopen的失败:无法找到符号“__aeabi_memcpy4”由
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memcpy4" referenced by "/data/app/com.app.myapp-1/lib/arm/libJniBitmapOperationsLibrary.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at com.jni.bitmap_operations.JniBitmapHolder.<clinit>(JniBitmapHolder.java:11)
<...>
库我正在使用的是here。
我见过与cannot locate symbol
有关的一些类似的问题,所有的建议都是在Application.mk
文件中设置APP_PLATFORM
。我的JNI库是SDK的一部分,所以我没有Application.mk
文件 - 只有Android.mk
。另外我的目标/ min sdk最近没有变化。我Android.mk
文件从库中复制如下:
LOCAL_PATH := $(call my-dir)
#bitmap operations module
include $(CLEAR_VARS)
LOCAL_MODULE := JniBitmapOperationsLibrary
LOCAL_SRC_FILES := JniBitmapOperationsLibrary.cpp
LOCAL_LDLIBS := -llog
LOCAL_LDFLAGS += -ljnigraphics
include $(BUILD_SHARED_LIBRARY)
APP_OPTIM := debug
LOCAL_CFLAGS := -g
非常感谢你分享你的知识。这对我有用.. –