一、luajit不兼容问题
不兼容版本:【2.1.0-bate2、2.1.0-bate3都存在异常】
出问题系统:Android11;Android10的系统部分机型有问题,部分机型正常
异常点1:c++调用lua接口,pushObjiect的时候crash
异常点2:lua调用c++绑定接口的时候报错[LUA ERROR] bad light userdata pointer
解决方案:
1、在git:https://github.com/LuaJIT/LuaJIT.git 上获取最新的代码编译出v8a架构下的libluajit.a文件,替换到工程里面,重新编译即可;附linux下的编译流程:linux环境下编译,安卓平台使用的luajit库-CSDN博客
2、直接下载我编译好的.a文件替换,下载路径https://download.csdn.net/download/chenjia0206/88500266
二、http库不兼容导致crash
编译报错:Unable to find optional library: org.apache.http.legacy
原因:高版本的系统不支持 Apache HTTP client
解决办法:
1、修改 Apache HTTP client,使用HttpURLConnection 代替
2、继续使用Apache HTTP client,在AndroidManifest.xml中添加
<!-- 兼容9.0 不存在Apache HTTP库-->
<uses-library android:name="org.apache.http.legacy" android:required="false" />