游戏使用的是 3.8.0 版本,目前剔除项目未使用的模块后,.so 文件依然很大。
,还是 20多M, 除了剔除未使用的模块还有其他方式减少 .so 文件的大小吗?
你打包后看看多少,这不是实际打包后的大小
输出的apk大小
apk 大小 16M 左右,目前是游戏不打单独的 apk ,是嵌入到其他安卓工程中,就需要下载引擎引入 .so 库,20 多M,有些大,看有其他办法精简一下大小么
so库打成压缩包再下载解压 能省一半
zip后再下载,下载后本地unzip
除了这种方式,有其他办法有效减少本身 so 库的大小么?
好的,我试试
首先,你可以不使用多个架构,普通的机器arm64-v8a 就够用了,没必要再放v7a了。如果你要支持pc模拟器,就给pc模拟器专门出x86的包。这样可以把你的包内的so总尺寸缩小一半。
然后,就只能缩减代码了。不知道你剔除模块是怎么剔除的,如果只是用宏的话,不一定精细。花点时间以类为粒度来剔除,可以减少一点。
zip so的方法,我以前在写热更so的时候用过,android的话,你要在java层写好下载(或者单独一个launcher.so写好下载),下载完了解压再加载,也可以的,不过要先判断好架构再下载对应的so。
好的,了解,我试试
CMAKE加这个试试
# CMakeLists.txt
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
好的,我试试
有效果吗?有多大效果
目前只上架 googleplay ,就保留了:“armeabi-v7a”, “arm64-v8a”,采用 AAB 方式,剔除模块就是:项目设置中功能裁剪方式。
博主,为什么我打的so体积要80M,而且只是选了v7a的架构,去除了项目中不用的模块,能帮忙分析下不,我用的2.4.12版本的
debug模式?
release模式没有那么大的