android ndk9 編譯第三方so庫

2021-06-18 12:48:23 字數 740 閱讀 8598

因為不了解,做個備份。希望以後通過學習能夠明白。

在開發過程中,遇到這樣的問題。使用第三方提供的so動態庫,去實現jni。

結果放到系統之後,出現 

e/dalvikvm( 1986): dlopen("/system/lib/libadvcactit_jni.so") failed: cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "/home/advcactit_925/obj/local/armeabi/libdrmclient.so" needed by "libadvcactit_jni.so"; caused by load_library(linker.cpp:745): library "/home/advcactit_925/obj/local/armeabi/libdrmclient.so" not found

這個路徑是ndk編譯jni檔案的路徑。

找不到動態庫。

使用ndk編譯,會在目錄下生成\libs\armeabi  以及objs資料夾,裡面都包含動態庫。大小和第三方提供的不同。我們使用的是\libs\armeabi路徑下的。

在找不到的路徑下,提供了第三方庫,這樣程式能夠使用第三方庫了,能夠正常工作。

一般情況下,android上面的庫都是push到 /system/lib目錄下,現在push到lib下不能夠找到。貌似和編譯的時候設定的東西有關。但是看android.mk沒有發現路徑的地方啊。

android ndk 使用第三方靜態庫

1 將第三方靜態庫的標頭檔案,a檔案拷貝到android ndk的source目錄裡面 這個目錄裡面,android目錄裡面放了.a靜態庫,boost裡面放了標頭檔案,android.mk檔案的內容 local path call my dir include clear vars local mo...

2023年9月第三週

在本週我們學了hadoop的分布式安裝以及關於hadoop的hdfs檔案系統。同時還學習了jsp的四個隱含物件 輸入輸出物件 作用域通訊物件 servlet物件 錯誤物件 通過這些物件我們做了乙個登入介面,在wed目錄裡面建立了js子目錄,在其裡面建立check.js檔案,將其匯入到頁面中使用。這樣...

編譯apue 第三版

想要直接使用作者提供的源 就需要編譯下,這個檔名是src.3e.tar.gz 很簡單的幾步就搞定了.解壓src.3e.tar.gz 進入apue.3e make 進入apue.3e lib目錄,複製libapue.a到 usr local lib目錄 進入 apue.3e include目錄,複製 ...