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一併加密,可減少破解的可能性。