gpt4 book ai didi

android - java.lang.unsatisfiedlinkerror :couldn't load testjni: findLibrary returned null

转载 作者:太空狗 更新时间:2023-10-29 15:14:27 25 4
gpt4 key购买 nike

我在没有eclipse的android源路径/packages/apps/中创建了一个android项目(TestJni)。我已经编译了android源代码。

我添加了 jni 文件夹。 在jni文件夹下,有一些文件,包括Android.mk和basic.c。

安卓.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := basic.c
LOCAL_MODULE := testjni
include $(BUILD_SHARED_LIBRARY)

基本.c

#include<string.h>
#include<jni.h>
jstring Java_com_example_FristJniActivity_getStringFromJni(JNIEnv *env, jobject thiz) {
return (*env)->NewStringUTF(env, "hello ndk and jni");
}

当前android项目的root,有一个Android.mk安卓.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := TestJni
LOCAL_JNI_SHARD_LIBRARIES := testjni
LOCAL_REQUIRED_MODULES := testjni
include $(BUILD_PACKAGE)

在src文件夹下,有一个activity(FristJniActivity)FristJniActivity.java

static {
System.loadLirary("testjni");
}
public native String getStringFromJni();

public void onCreate(Bundle b) {
super.onCreate(b);
TextView tv = new TextView(this);
tv.setText(getStringFromJNi());
setContentView(tv);
}

然后编译TestJni app,可以找到apk,但是插入手机后,强制关闭

错误是: java.lang.unsatisfiedlinkerror: 无法加载 testjni: findLibrary 返回 null

我用谷歌搜索。但我找不到解决方案。

我查看了apk文件,testjni.so文件已经存在于/lib/armeabi-v7a/目录下。

最佳答案

我修改了一些值

jni/Android.mk

LOCAL_MODULE := libtestjni

安卓.mk

LOCAL_JNI_SHARD_LIBRARIES := libtestjni
LOCAL_REQUIRED_MODULES := libtestjni

,并使用命令“adb install *.apk ”。

然后它运行良好。

关于android - java.lang.unsatisfiedlinkerror :couldn't load testjni: findLibrary returned null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com