我試圖找出如何我的本地庫集成到Android的代碼。我創建了一個簡單的C++函數,它在設備上運行代碼時工作正常。但是我目前的目標是使其在單元測試ENV(JUnit的)工作,我面臨的問題:「java.lang.UnsatisfiedLinkError中:*。所以:找不到依賴庫」,在單元測試ENV
所以,在單元測試ENV System.loadLibrary("lib")
不工作了,我也cange到 System.load("/full/path/to/lib.so")
,但現在這行拋出異常:
java.lang.UnsatisfiedLinkError: app\build\intermediates\cmake\debug\obj\x86_64\liblib.so: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086)
路徑是正確的,存在此路徑的文件存在。
我tryed使用路徑LIB的x86
基礎版本,但它仍然拋出同樣的異常。
我使用的是最新的Android NDK,鐺工具鏈,在基於Windows 7的64位筆記本電腦上運行單元測試,CPU是酷睿i7,並在運行Java版本也似乎是64位。
那麼可能是什麼問題,在這種情況下,如何解決?
我有,即使考慮到這一事實鐺編譯的x86/x86_64的* .so文件有一種感覺,他們仍然在基於Windows的ENV無效,但我沒有安裝Linux的快速檢查這個想法。