关于编译xlua的Android端Plugin的二三事
关于自行编译xlua第三方库的那些事
首先需要说明的事,自行编译xlua确实是有一定门槛的事情,如果是项目初期选用lua框架时,相对于自行编译所需要的第三方库,不如直接使用官方提供的集成好了常用插件的 build_xlua_with_libs。
编译环境准备
虽然xlua官方提供了基于windows平台的编译脚本,但是其中需要配置的环境非常复杂,而windows10以后自带WSL(Windows Subsystem for Linux),linux平台仅需NDK即可。故本篇仅介绍基于Linux的编译
测试系统
- 编译系统:AWS的Ubuntu20 LTS/WSL2
- xlua版本:2.1.16
关于系统的一些补充
- 如果是linux云服务器均可,这里只是用手头上正好有的AWS做演示
- 使用WSL2可以同时编译lua53和luajit,但是WSL1由于本身不支持32位编译,而luajit的编译需要32的编译环境,所以WSL1不能编译luajit
- WSL2的安装教程网上很多大家,可自行搜索,需要提醒的是需要注意安装的WSL版本,可以通过命令行
wsl --list --verbose
查询 - 开启WSL2的过程中,最常见的一个错误是WslRegisterDistribution failed with error: 0x800701bc,可以按照该博文进行解决
编译xlua
进入ubuntu系统后,首先使用sudo -i
进入管理员模式,最好使用管理员身份进行编译,可以避免权限和环境变量上的一些麻烦
更新升级
apt update
apt upgrade
安装 cmake/g++/gcc/zip/32位编译环境
apt install cmake g++ gcc unzip gcc-multilib libncurses5
在根目录创建workspace文件夹
mkdir /workspace
自行下载xlua后,将build文件夹zip后,通过FTP发送到ubuntu上的workspace文件夹,WSL2可以直接在Folder中通过\\wsl$
访问WSL文件夹
下载Android NDK,
接下来将ndk发送到workspace文件夹中,并解压
cd /workspace
unzip android-ndk-xxx
设置ANDROID_NDK
环境变量,并source
生效
vim /etc/profile
并在最后添加 export ANDROID_NDK=/workspace/android-ndk-xxx
添加到文件末尾并保存
立即生效
source /etc/profile
解压并进入xlua的build文件夹后,执行对应的shell文件即可