苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,

这里是记录我们项目构建自己的XLua各平台代码库之安卓so库的流程,在原本XLua的相关代码基础上扩展和删除了一些代码,通过这篇文章可以大概知道如何添加和删除扩展代码,怎么配置,怎么去生成我们想要的库,下面的内容和截图以及代码注释,可以帮助大家了解整个流程、以及解决部分问题的流程,当然还有一些小问题基本随便搜一下都能解决。

首先GitHub下载构建工具链接贴上来:https://github.com/Tencent/xLua

由于生成64位的执行文件只有苹果系统.sh类型的,所以这里使用苹果电脑来配置环境,在苹果终端执行文件来生成库。

  1. 添加需要加入库里面的C和C++代码:
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第1张图片

  2. 更改build目录下的CMakeLists.txt进行相干配置
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第2张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第3张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第4张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第5张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第6张图片

  3. 当然随着上面文件中的一些更改,make_android_lua53.sh中生成的库名称也需要更改
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第7张图片

  4. 检查和配置NDK环境:控制台输出检查一下看是否已经安装配置了NDK环境,输入命令echo $ANDROID_NDK或者echo $ANDROID_NDK_HOME等命令,或者取了其他名字的也行,下面有输出路径,然后根据路径检查一下是否真的存在NDK相关的目录:
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第8张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第9张图片

如果没有NDK,就前往https://developer.android.google.cn/ndk/downloads/older_releases#ndk-10c-downloads下载对应的版本,可以从make_android_lua53.sh中看到到大概的版本
苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第10张图片

下载完毕后,配置NDK环境:先在用户根目录下执行touch .bash_profile创建.bash__profile文件,然后执行open -e .bash_profile打开文件,配置NDK路径,最后执行source .bash_profile使配置生效
苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第11张图片
苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第12张图片
苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第13张图片

最后再执行输出一次环境变量echo $ANDROID_NDK,如果有值代表OK了

  1. 将xlua构建工具中build下的cmake文件也复制到ndk的build目录下,不然打包会报错ndk的这个目录下找不到里面的文件
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第14张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第15张图片

  2. 环境和文件配置的差不多后就可以在终端执行make_android_lua53_arm64.sh文件了,cd到对应的目录下,然后执行
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第16张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第17张图片

  3. 这时候终端应该会输出一些报错、警告以及运行权限弹窗,我们先提前打开安全性和隐私管理界面,后面如果有些需要允许的操作直接如图所示进行操作就好了
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第18张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第19张图片
    如果报错需要设置CMAKE_C_STANDARD_COMPUTED_DEFAULT啥的,如
    在这里插入图片描述

我们就去build工程里使用vscode搜索(主要这个最好用最快能找到)CMAKE_C_STANDARD_COMPUTED_DEFAULT,然后找到相应的几个文件设置这个参数值即可
苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第20张图片
还有两个警告,说这个方法已经过时或者弃用了啥的不要管,如果删除这个代码虽然没有警告了但是就生成不了了
苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第21张图片

  1. 这些坑和报错都处理好后,就可以再次执行生成了,最后获得结果如下,这个就是我们想要的了
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第22张图片

  2. 最后需要注意一下,我们生成的库的版本号要和XLua中加载的时候设置的是一致的,不然打包出来运行会报错
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第23张图片
    苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,_第24张图片

  3. 还有一些细节和报错还有权限设置相关的文档网上可以直接搜到,但是也没截图就不再描述进来了,实操得真知。

你可能感兴趣的:(XLua本地构建代码库)