xlog-Android15適配之16KB對齊

背景

前兩天查看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版本的代碼去編譯,這樣問題更少。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913568.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Crazyflie支持MATLAB/Simulink控制 基于NOKOV度量動捕系統實現

Crazyflie支持MATLABSimulink控制 基于NOKOV度量動捕系統實現 一、動捕軟件VRPN配置 以動捕軟件版本XINGYING 4.2.0.5495為例,其他版本同理。打開動捕軟件,連接上鏡頭。單擊菜單欄下的視圖->數據廣播。在數據廣播中的VRPN流下,將單位下拉…

Windows 系統安裝與使用 Claude Code 全攻略

Claude Code 作為一款高效的 AI 編程輔助工具,深受開發者青睞,但由于其本身不支持 Windows 文件系統,在 Windows 系統上使用需要借助 WSL(適用于 Linux 的 Windows 子系統)。下面為你詳細介紹在 Windows 系統上安裝和使…

如何用Python編程計算權重?

1. 加權平均中的權重計算(已知權重值) 如果已知各元素的權重,直接用權重乘以對應值后求和。 # 示例:計算加權平均分(權重之和為1) scores [80, 90, 70] # 各項分數 weights [0.3, 0.5, 0.2] # 對應權重…

WinUI3入門16:Order自定義排序

初級代碼游戲的專欄介紹與文章目錄-CSDN博客 我的github:codetoys,所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。 這些代碼大部分以Linux為目標但部分代碼是純C的,可以在任何平臺上使用。 源碼指引:github源…

Java 面向對象三大特性詳解:封裝、繼承與多態,掌握OOP核心思想

作為一名Java開發工程師,你一定知道,封裝(Encapsulation)、繼承(Inheritance)和多態(Polymorphism) 是面向對象編程(Object-Oriented Programming, OOP)的三大…

WPS中配置MathType教程

項目場景:在WPS中使用MathType問題描述:MathPage.wll或MathType.dll文件找不到問題原因分析:在C盤wps中的startup中有mathpage.wll,但配置不可用而我的WPS安裝在E盤,并且桌面圖標啟動路徑也是E盤路徑下的WPS路徑,所以不…

基于模板設計模式開發優惠券推送功能以及對過期優惠卷進行定時清理

1.模板設計模式:模板設計模式是一種常見的設計模式,主要作用是對 具體操作的 共有代碼塊進行提取,提升代碼復用性。那么說道代碼復用性,首先想到的是抽象類而不是接口。因為抽象類的本質就是為了代碼復用,抽象類既可以…

對象的finalization機制Test1

Java語言提供了對象終止(finalization)機制來允許開發人員自定義對象被銷毀之前的處理邏輯。當垃圾回收器發現沒有引用指向一個對象時,通常接下來要做的就是垃圾回收,即清除該對象,而finalization機制使得在清除此對象之前,總會先…

RJ45 連接器(水晶頭)的引腳定義

RJ45連接器核心定義 【】物理結構 8個金屬觸點(Pin 1至Pin 8)的透明塑料插頭,帶塑料卡榫。 引腳編號規則 卡榫朝下,金屬觸點面向自己時: 最左側為 Pin 1 最右側為 Pin 8 順序:Pin 1 → Pin 2 → Pin 3 → P…

小架構step系列08:logback.xml的配置

1 概述 logback.xml配置文件的詳細配置,很多地方都說得比較細,本文主要從幾個重點來看一下原理,了解原理能夠幫助確定哪些應該配置,以及如何配置。 logback.xml是為打印日志服務的,打印的內容一般打印到控制臺(Conso…

STM32中SPI協議詳解

前言 在嵌入式系統中,設備間的數據傳輸協議多種多樣,SPI(Serial Peripheral Interface,串行外設接口)憑借其高速、全雙工、易用性等特點,成為連接STM32與高速外設(如OLED屏、Flash芯片、AD轉換器…

TypeScript 接口全解析:從基礎到高級應用

TypeScript 接口全解析:從基礎到高級應用在 TypeScript 中,接口是定義數據結構和行為規范的強大工具,它能夠顯著提升代碼的可讀性、可維護性和類型安全性。本文將全面講解 TypeScript 接口的相關知識點,從基礎語法到高級特性&…

主存(DRAM)是什么?

主存(DRAM)是什么? 主存(DRAM)詳解 主存(Main Memory) 通常由 DRAM(Dynamic Random Access Memory,動態隨機存取存儲器) 構成,是計算機系統中用于…

Python 機器學習核心入門與實戰進階 Day 6 - 模型保存與加載(joblib / pickle)

? 今日目標 掌握如何將訓練好的模型持久化保存到文件熟悉兩種主流保存方式:joblib 和 pickle加載模型并應用于新數據預測實現完整的“訓練 → 保存 → 加載 → 預測”流程為后續部署做準備(如 Flask、FastAPI)🧰 一、模型保存工具…

【SigNoz部署安裝】Ubuntu環境部署SigNoz:Docker容器化監控的全流程指南

文章目錄前言1.關于SigNoz2.本地部署SigNoz3.SigNoz簡單使用4. 安裝內網穿透5.配置SigNoz公網地址6. 配置固定公網地址前言 在分布式架構主導的現代運維體系中,系統性能監控正面臨范式變革的關鍵轉折。當微服務架構遭遇服務雪崩、無服務器架構出現冷啟動延遲等復雜…

NV298NV312美光固態閃存NW639NW640

美光固態閃存技術全景解析:從NV298到NW640的深度探索近年來,美光科技憑借其在3D NAND閃存技術上的持續突破,推出了多款備受市場關注的固態硬盤產品。本文將從技術評測、產品對比、市場趨勢、用戶反饋及應用場景等多個維度,深入剖析…

2025.07.04【服務器】|使用萬兆網卡提升服務器間互聯速度,實現快速數據傳輸

文章目錄1. **萬兆網卡概述**2. **為什么選擇萬兆網卡**3. **萬兆網卡配置與安裝**3.1 **安裝網卡**3.2 **安裝驅動程序**3.3 **檢查網卡狀態**4. **配置網絡接口**4.1 **Linux 系統配置**4.2 **Windows 系統配置**5. **優化性能**5.1 **使用多線程傳輸**5.2 **開啟 TCP/UDP 窗…

光伏發電量精準估算,提升投資效益

在光伏產業規模化發展進程中,準確估算光伏發電量是提升項目投資效益的關鍵環節。科學的發電量預測不僅能為項目可行性研究提供依據,更能在電站全生命周期內優化運營策略,實現投資回報最大化。基于多維度數據整合與智能算法構建的精準預測體系…

Linux的互斥鎖、Linux的POSIX信號量(二值、計數)、RTOS的二值信號量

鎖和信號量最大的區別就是:鎖嚴格要求 “誰占用誰釋放”,而信號量允許 “一個任務 / 線程釋放,另一個任務 / 線程獲取”。 特性互斥鎖(Mutex)POSIX 信號量(Semaphore)初始狀態初始為 “鎖定”(PTHREAD_MUTEX_INITIALIZER),需顯式獲取(pthread_mutex_lock)。初始值可…

基于Java+SpringBoot 協同過濾算法私人診所管理系統

源碼編號:S607源碼名稱:基于SpringBoot5的協同過濾算法的私人診所管理系統用戶類型:雙角色,患者、醫生、管理員數據庫表數量:15 張表主要技術:Java、Vue、ElementUl 、SpringBoot、Maven運行環境&#xff1…