背景
前两天查看Google play控制台突然发现有告警,一看原来是要求必须尽快适配Android15。
过程
先看了一下网上的资料,Android15适配 发现对我的apk基本上没有什么影响,除了 动态库必须16KB对齐这一项。
最简单查看apk是否16KB对齐的方法是 使用Android studio 查看打包好的apk
有问题的:
适配好的:
重编xlog
去官网看了一下,发现并没有说支持16KB对齐,看来只能自己动手了。
这里说一下之前我编译的时候用的是master的最新代码,所以现在我还是用这个最新代码编译,相对应的 java代码也要用最新的。
修改代码中page_size定义
添加链接参数
注意:xlog官方 使用的是ndk16版本,所以应该添加如下参数
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,max-page-size=16384")
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,common-page-size=16384")
除此之外,还需要解决一个MD5链接出错的问题
有几个导出符号找不到的编译错误
ndk 16 问题
我之前用ndk16编译xlog成功,但是编译apk的时候,遇到了一些问题,不知道其他人有没有问题,遇到的问题:
arm64-v8a/libmarsxlog.so: invalid local symbol '__bss_start__' in global part of symbol table
所以后面换到了ndk28 , 和app用的ndk版本一致,后面测试运行正常了。
总结
主要就是这些事情了,还算好解决。不想折腾的最好使用1.3.0版本的代码去编译,这样问题更少。