我正在嘗試稍微修改一個示例應用程序(dlib)。該示例使用一個使用JNI(它是一個.so文件)調用的C++庫。示例中提供的庫運行良好。我重新編譯該庫,但現在它不會加載它,它拋出這個錯誤:加載包(JNI)時出錯 - 無法找到符號「__aeabi_memcpy」
dlopen failed: cannot locate symbol "__aeabi_memcpy" referenced by "/data/app/com.tzutalin.dlibtest-1/lib/arm/libpeople_det.so"
我認爲這是目標SDK之間的不匹配,所以我做了確保一切都被設置爲SDK版本24,但我仍然得到這個錯誤。
任何想法?我在Windows 10上使用Android Studio。
謝謝。
您可能未能正確編譯它,所以庫不會導出任何符號。看看你的編譯器的文檔,看看你需要傳遞哪些選項,讓它導出所有要導出的符號。 –