簡體   English   中英

如何使用包含共享庫(.so)創建JAR文件

[英]How to create JAR file with includes shared library(.so)

對於我的項目之一,我需要將本地c代碼調用到java class 為此,我做了以下步驟。

  1. 在我的java類中,我聲明了我的項目所需的一些本機方法。

     public native String print(String pM,int len); public native int openPrint(); 
  2. 我啟動了如下的庫文件

     static { System.loadLibrary("print"); } 
  3. 此后,我創建了關於Java代碼的頭文件。

  4. 創建c文件並在c中實現上述方法

  5. 之后,我使用ndk-build生成了庫文件,即libprint.so

  6. 庫文件在libs->armeabi->libprint.so成功創建

  7. 每當我運行該Java應用程序時,都會出現錯誤提示

     Exception in thread "main" java.lang.UnsatisfiedLinkError: no print in java.library.path 

我該如何解決這個問題。

我想將這種應用程序提供給其他Android開發人員,以便他們可以創建此應用程序而無需執行本機調用並且無需創建libprint.so文件

這意味着我必須將自己的API提供給應用程序開發人員。 為此,我必須創建JAR文件。 其中包括java.classlibprint.so (共享庫)等。

如何創建還包含libprint.so JAR文件。

我正在使用eclipse和open-jdk6在ubuntu中做以上所有工作。

在Windows中,如果jar使用dll,則必須將dll復制到jar內的根文件夾。 之后,程序將找到它。

嘗試一下,它可能會對您有所幫助。

暫無
暫無

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

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