android lua require第三方擴展庫有三種方式:
1. 用c實現獨立的lua模塊作爲android的第三方動態庫來引入,優點是lua擴展庫獨立方便更新替換,缺點是需要修改虛擬機,開啓宏支持dlopen調用的方式,並且還需要設置lua尋找so路徑才能正確加載。具體操作流程看這裏。
2. 用c實現lua模塊作爲lua虛擬機動態庫的一部分,優點代碼實現簡單方便,缺點是需要修改虛擬機,不方便lua虛擬機的更新替換。具體操作流程看這裏。
3. 用c實現獨立的lua模塊,在c層或者其他層使用lua虛擬機模塊的導出函數來註冊lua模塊,優點是方便虛擬機的更新替換,缺點是lua拓展庫更新替換不方便,若lua拓展庫更新並不頻繁可採用此種方法,具體步驟分爲:
a. 利用luaL_newlib和luaL_Reg來實現lua模塊
b. 利用luaL_requiref來註冊lua模塊