Android ndk Android NDK findLibrary已重新返回null

Android ndk Android NDK findLibrary已重新返回null,android-ndk,unsatisfiedlinkerror,Android Ndk,Unsatisfiedlinkerror,我创建了一个学习ndk的示例项目,并使用armeabi ABI在emulator上运行它。我已成功创建了我的.so文件,该文件位于libs中的armeabi-v7a文件夹中。当我运行该项目时,它会显示未满足的链接错误findLibrary返回null。我研究了myproject.apk文件,以确定我的.so文件是否打包在apk中,并且在libs中找到它,但当我使用DDMS透视图探索avd时,我没有找到它。所以在data/data/package/libs中找到文件/ 简要说明 使用jni文件夹创

我创建了一个学习ndk的示例项目,并使用armeabi ABI在emulator上运行它。我已成功创建了我的.so文件,该文件位于libs中的armeabi-v7a文件夹中。当我运行该项目时,它会显示未满足的链接错误findLibrary返回null。我研究了myproject.apk文件,以确定我的.so文件是否打包在apk中,并且在libs中找到它,但当我使用DDMS透视图探索avd时,我没有找到它。所以在data/data/package/libs中找到文件/

简要说明 使用jni文件夹创建了一个应用程序,编写了基本的c文件,然后创建make文件,并按照开发人员网站上的说明进行构建,然后使用sdk运行android应用程序 我在apk的libs文件夹中找到.so文件 但安装后,我在data/data/package/libs中找不到它/ 因此,我在System.loadLibrary(“libname”)中发现findLibrary返回空错误; 我还尝试了System.load(data/data/com.example.learnndk/lib/libndk1.so)

Android.mk

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS)  
LOCAL_LDLIBS := -llog  
LOCAL_MODULE    := ndk1  
LOCAL_SRC_FILES := native.c  
include $(BUILD_SHARED_LIBRARY)
Application.mk

APP_OPTIM := release 
APP_PLATFORM := android-8 
APP_STL := gnustl_static 
APP_CPPFLAGS += -frtti  
APP_CPPFLAGS += -fexceptions 
APP_CPPFLAGS += -DANDROID 
APP_ABI := armeabi-v7a 
请帮我找到解决办法


确切地说,我在apk中的lib文件没有解压缩到应用程序数据目录中。

您在
系统中使用的lib名称。loadLibrary
?对于名为
libndk1.so
的库,您应该说
System.loadLibrary(“ndk1”)


也就是说,没有前导的
lib
前缀,也没有
.so
文件类型。

您正在运行armeabiemulator。这意味着在Application.mk中需要匹配

APP_ABI := armeabi

它可以工作..我忘了在c文件中提到活动名称..在c中,我们必须将函数声明为Java_Package_name_Activityname_methodName()


但我是以Java_Package_name_methodName()的形式实现的;这是您不满意的链接错误发生。

我已经尝试了这两个函数。。但是没有改进System.loadLibrary(“ndk1”)和System.load(data/data/com.example.learnndk/lib/libndk1.so)有什么建议吗。。???
Java_com_example_learnndk_MainActivityhelloLog(arguments)