2014-09-02 60 views
1

我在日食中使用NDK。java.lang.UnsatisfiedLinkError:無法從加載器加載findLibrary返回null

這是我NativeLib在Java:

public class NativeLib { 

public native String enCode(String src); 

static { 
    System.loadLibrary("HelloWorld"); 
} 

public native String deCode(String src); 
} 

這是C源:在Android 4.2,但採用Android 4.3(平板華碩K012)

#include <string.h> 
#include <jni.h> 
#include <stdio.h> 

jstring Java_com_example_helloworld_NativeLib_enCode(JNIEnv* env, 
    jobject thiz, jstring src) { 
... 
return (*env)->NewStringUTF(env, result); 
} 

jstring Java_com_example_helloworld_NativeLib_deCode(JNIEnv* env, jobject thiz, 
    jstring src) { 
... 
return (*env)->NewStringUTF(env, result); 
} 

我的項目的正常運行它得到錯誤,如低於

java.lang.UnsatisfiedLinkError: Couldn't load HelloWorld from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.helloworld-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.helloworld-2, /vendor/lib, /system/lib, /system/lib/arm]]]: findLibrary returned null

任何人都可以幫我嗎?

+0

以及該平板電腦內的處理器是什麼?你提供了這個處理器的本地庫嗎? – Selvin 2014-09-02 15:55:20

+0

@Selvin我不明白。我忘了我用我的圖書館與vitamio。如果我不使用vitamio它運行良好。 – Minato 2014-09-05 02:50:38

+0

你是如何解決這個問題的? – 2016-01-22 17:08:24

回答

3

這可能是因爲您沒有編譯所有平臺的本機代碼。華碩K012運行Intel處理器,這可能是原因。在您的JNI文件夾中添加一個名爲application.mk的文件,以及以下參數 APP_ABI:=全部

編譯所有平臺的本地部分。

相關問題