2017-08-16 118 views
0

我在Github中重用了一個項目;實際上,我在C++中有一個.so庫,所以我想通過使用本地函數在java部分導入這個庫。問題是Java部分無法加載這個庫;我搜索了很多關於這個問題的問題,但它並沒有解決我的問題。 這裏項目的結構:在Android項目中導入.so庫

enter image description here

enter image description here

+0

請使用文本,而不是文本的圖片。 – vijoc

+0

Android Studio無法理解本地方法是否在導入的so文件中實現。除非項目在加載庫時出現運行時問題,否則不應該擔心這些警告。 –

+0

請指定您的錯誤是編譯錯誤/運行時錯誤,如果運行時錯誤,則包括有問題的堆棧跟蹤。 –

回答

0

從項目樹結構,我發現你的JNI接口文件(MyNDK)是在您的項目package.If它從外部下載庫項目,那麼你應該使用相同的封裝structure.For例如

如果接口文件中有包名com.library.jni和 接口名稱LibMonoInterface.java那麼你應該使用相同的 包名稱和相同的接口文件,否則將無法正常工作

+0

我真的不明白你的答案。你能否精確一點。在這裏,我完全重用了Github的一個項目,但沒有一個是我自己的。而且我認爲所有文件都包含在com.example.castoryan.orb中,這意味着它們在相同的包名中使用?那麼在這種情況下我需要改變什麼? – manuntn08

+0

請指定您正在使用的項目(github url)。 –

+0

這裏我用什麼 https://github.com/castoryan/ORB-SLAM-Android.git – manuntn08