簡體   English   中英

如何在另一個Java項目中將JAR文件與共享庫一起使用

[英]How to use a jar file with shared object in another java project

我有一些要在我的java-android項目中使用的C文件。 使用JNI包裝器和NDK創建SO。 我能夠從我的Java代碼訪問C方法。 一切正常。 現在,我想創建該項目的jar文件,以將其進一步提供給其他開發人員(這樣C代碼就可以對其他人隱藏)。 這是我面臨的一些問題。 當我嘗試在其他項目中使用創建的JAR時,在加載SO時開始出現“ UnsatisfiedLink錯誤”。 SO在同一個項目中完全可以正常加載,但是當用同一個項目創建jar並嘗試在另一個項目中使用它時,會引起問題。 *使用Eclipse。

使用eclipse / ant時,需要分別分發.jar和.so文件。 其他開發人員將不得不將.so文件本身重新集成到他們的lib/ABI文件夾中。

您可能會發現一些怪異的方法,可以使用僅包含.so文件的其他jar文件來集成.so文件,但這並沒有改變您需要單獨分發它們的事實。

要將其.so文件作為單個文件分發庫,您應該構建.aar而不是.jar Android Studio / gradle可以直接使用這些文件,而.so文件則直接集成在aar文件的jni/ABI文件夾下。

暫無
暫無

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

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