簡體   English   中英

加載包 (JNI) 時出錯 - 找不到符號“__aeabi_memcpy”

[英]Error loading package (JNI) - cannot locate symbol "__aeabi_memcpy"

我正在開發一個示例應用程序,我正在嘗試對其稍作修改( dlib )。 該示例使用一個 C++ 庫,該庫使用 JNI(其 .so 文件)調用。 示例附帶的庫工作正常。 我重新編譯了那個庫,但現在它不會加載它,它會拋出這個錯誤:

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。

謝謝。

這是android studio中新的Nougat(24)SDK引入的一個新BUG,如果你把所有東西都回滾到Marshmallow(23)就可以了。 直到 Android Studio 團隊修復該問題。

問題:如果您使用 (24) 和目標 (24) 編譯並將 apk 安裝在具有 (23) 的設備中,則該設備將找不到您的庫,但是,如果您在任何其他設備版本 2.33 到 5 中安裝該 apk,和 7/牛軋糖(棉花糖除外)。 一切都會好起來的。 測試。

解決方案:使用(23)和目標(23)編譯,然后坐下來等待修復。 測試。

我的環境:我在上周進行了所有 Android Studio 更新。 (帶有最新模擬器的 NDK 13、牛軋糖和棉花糖,以及真實設備 android 4、5、6。)。

希望 Android Studio 能聽到這個問題,因為如果不盡快修復,在接下來的幾周內將成為 Play 商店的噩夢。 對於棉花糖用戶。

編輯:升級到 Android Studio 2.2(2016 年 9 月 15 日構建 #AI-145.3276617)后,發布了這一天(9 月 19 日)。 我能夠編譯為 24,目標為 24 並在每個設備上運行 Android Gingerbread To Nougat。 模擬和真實。 正如它應該的那樣。

暫無
暫無

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

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