2010-07-09 91 views

回答

47

術語共享庫並不適合Android的NDK,因爲在很多情況下.so庫實際上並不是在應用程序之間共享的。最好將NDK構建的庫分類爲靜態和動態。

每個Android應用程序都是一個Java應用程序,NDK代碼的唯一入口點是將其作爲動態庫加載並通過JNI調用它。

靜態庫是編譯目標文件的存檔。他們在構建時捆綁在其他庫中。未使用的來自靜態庫的代碼部分被NDK剝離以減小總大小。

動態庫在運行時從單獨的文件加載。它們可以包含它們依賴的靜態庫或加載更多動態庫。

因此,您實際需要的Android開發至少有一個共享庫,它將從Java代碼中調用,並且最好與靜態庫相關聯。

+2

乾淨的簡潔..謝謝 – baash05 2015-11-20 13:25:33

+1

真正偉大的答案 – 2016-10-21 06:40:33

+0

謝謝,真的很不錯的答案。重點。 – 2017-12-21 21:34:26

0

本地共享庫:NDK從您的本機源代碼構建這些庫或.so文件。 本地靜態庫:NDK也可以構建靜態庫或.a文件,您可以將其鏈接到其他庫。

這是根據NDK文檔