簡體   English   中英

Android-NDK項目中出現“ findLibrary返回null”錯誤

[英]Getting “findLibrary returned null” error in Android-NDK project

我放棄了在Android-NDK項目中解決findLibrary returned null錯誤的問題。 這是項目結構:

|_JNI
  |_libsample.so     (pre-compiled)
  |_libsample2.so     (pre-compiled)
  |_Application.mk
  |_Android.mk

|_libs
  |_X86
    |_libsample.so
    |_libsample2.so

Android.mk來源:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE    := libsample
LOCAL_SRC_FILES := libsample.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libsample2
LOCAL_SRC_FILES := libsample2.so
include $(PREBUILT_SHARED_LIBRARY)

Application.mk來源:

APP_ABI := x86

bashrc文件中的環境變量已正確設置。 ndk path在Eclipse中的位置是正確的。

每當我嘗試加載Shared_library時,都會出現以下錯誤:

06-06 09:33:36.088: E/AndroidRuntime(1100): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load fona from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.example.fona-1.apk,libraryPath=/data/app-lib/com.example.fona-1]: findLibrary returned null

MainActivity.java加載共享庫的源:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    System.loadLibrary("libsample");
            ..
            ....
            .....

我在這里做錯了什么? 我在這里找到了幾個類似的問題,但是嘗試了所有方法。 什么都沒用:(

編輯

MainActivity.java加載共享庫的源:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    System.loadLibrary("sample");
            ..
            ....
            .....

您應該加載“ sample”而不是libsample ...

我也不是很確定,您應該使用x86作為體系結構,除非這是針對android-x86的(例如在virutablbox上...)

此外,您可以檢查自己的庫是否包含在apk中!

確保將生成的庫安裝在apk中。 為此,請右鍵單擊Eclipse項目名稱,然后進入Build Path-Configure Build Path,在左側菜單上,選擇Java Build Path,然后單擊右側面板上的Order and Export選項卡,在選中復選框之前您的庫名稱,然后單擊確定,然后清理,重建並運行您的項目。 正如Nicolas指出的那樣,加載Sample而不是libsample。 創建AVD時,選擇x86作為TARGET。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM