2012-08-01 38 views
1

搜索了很多之後,我仍然無法找到一件事,我是否可以在我的.java中使用lib ***。a文件與否。我可以在我的androidndk應用程序中使用靜態庫(lib ***。a)

i.e: 
static { 
    // Library 
    System.loadLibrary("***"); 
} 

,當我讀到的overview.html行You must provide a native shared library that contains the implementation of these methods我得到了這個疑問。

所以任何人都可以告訴我我是否可以在.java文件中使用lib ***。a文件。

如果是的話那怎麼樣?

因爲you should not use the 'lib' prefix and '.so' suffix here.寫在overview.html中。

回答

3

看來你不能。據我所知,Java本地接口使用動態庫來加載代碼運行時;我確信無法用存檔庫(.a)完成。

+0

然後在我的.java中包含一個lib ***.a我應該怎麼做而不創建lib ***。so – 2012-08-01 04:58:50

+1

@Subratnayak。你應該創建一個.so。如果你不能,真的,那麼你將不得不退回到完全本地(純C)開發,並正確地將.a文件靜態鏈接到最終的可執行文件。 – 2012-08-01 05:02:32

+0

在'android-ndk/docs/overview.html' 中明確指出,您必須提供一個「本地共享庫」,其中包含這些方法的實現,這些方法將被打包到應用程序的.apk中。 所以我想你別無選擇。 – nimish 2012-08-01 05:13:22

相關問題