首頁>技術>

Lua 是一種輕量小巧的指令碼語言,用標準C語言編寫並以原始碼形式開放, 其設計目的是為了嵌入應用程式中,從而為應用程式提供靈活的擴充套件和定製功能。

接觸過|Lua語言的都知道Lua是一門膠水語言,通過程式碼之間的呼叫,能夠跨平臺執行,在許多遊戲的開發中都有Lua的身影,Lua可以通過程式碼直譯器直接執行,無需編譯

實現的前提需要Lua的程式碼直譯器,

如圖,匯入所需Java api以後,再匯入安卓佈局,

實現在Java上面相互呼叫,也算是一種安卓混合開發:Java+xml+Lua

用import呼叫Dex裡面的類庫

main.lua是主要程式碼檔案

Lua的安卓執行工具可以在網路上面下載,也可以在GitHub上面查詢下載使用

如何把Lua做成軟體,到達執行目的

原生安卓的開發工具一般是Android studio 所需的核心檔案

Java、xml、dex、gradle、class、jar等各種複雜的檔案,

眾多的檔案會導致安裝包的rom很大,對手機不利,減少運存。

在使用Lua語言這種輕量程式設計環境下,能減少很多檔案,

比如只需要dex、Java、xml、Lua這四種核心檔案即可,這些不需要打包可以直接執行,

由於Java的特殊性,執行時僅會載入Lua函式和程式碼,Java程式碼需要打包後才能實現

閒言App的xml清單

在gen檔案下編寫Java程式碼,在xml清單呼叫Java程式碼,

軟體內的Java檔案

這個軟體全域性採用Lua程式碼,在Lua檔案之前互相呼叫,形成完整的程式碼支援

程式碼檔案我覺得有必要這裡一下,把原始碼工程當做自己的家

xml呼叫Java函式

未編譯的Lua工程原始碼執行只會載入Lua和table檔案程式碼,執行時需要init.lua檔案的支援

總結:Lua開發安卓軟體很罕見,打包後的安裝包rom很小,效能高效,這不屬於原生開發吧,更多Lua開發安卓軟體的實列在網路上面可以查到的,典型的例項如閒言App,實現眾多功能以後還能把rom大小克制在5M以內。

提示:Lua檔案容易被破解,建議在打包時把Lua和dex一併加密,可減少破解的可能性。

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • flask web伺服器:執行在雲伺服器上的最簡單的web伺服器