Android15适配16kb完整版
Android15适配16kb完整版前言之前适配过Android15中MMKV的16kb但是项目的其他库没有给出来详细方案这里给出一个完整项目的视频主要是第三方库和sdk的版本升级等.1.Google Play 16 KB 兼容性要求:自 2025 年 11 月 1 日起所有提交到 Google Play 且以 Android 15 或更高版本设备为目标平台的新应用和现有应用更新都必须在 64 位设备上支持 16 KB 的页面大小。详细了解 →从历史上看Android 仅支持 4 KB 内存页面大小这优化了系统内存性能以适应 Android 设备通常拥有的平均总内存量。从 Android 15 开始AOSP 支持配置为使用 16 KB 页面大小的设备16 KB 设备。如果您的应用直接或通过 SDK 间接使用任何 NDK 库则需要重新构建应用才能在这些 16 KB 设备上运行。随着设备制造商不断制造出具有更大物理内存 (RAM) 的设备许多此类设备将采用 16 KB最终甚至更大的页面大小来优化设备性能。添加对 16 KB 页面大小设备的支持可让您的应用在这些设备上运行并帮助您的应用受益于相关的性能改进。如果不重新编译应用将无法在未来 Android 版本的 16 KB 设备上运行。为帮助您为应用添加支持我们提供了相关指南介绍了如何检查应用是否受到影响、如何重新构建应用如果适用以及如何使用模拟器包括 Android 模拟器的 Android 15 系统映像在 16 KB 环境中测试应用。官网地址https://developer.android.com/guide/practices/page-sizes?utm_sourceandroid-studio-apputm_mediumapphlzh-cn#compile-16-kb-alignment2.概念什么是16K页面对齐告别4K时代在计算机操作系统中内存以固定大小的“页面”为单位进行管理。长久以来安卓系统一直沿用4KB作为标准的页面大小。所谓“页面对齐”就是确保内存中的数据块尤其是应用的可执行文件和库从能被页面大小整除的地址开始存放。随着硬件的飞速发展现代智能手机配备了越来越大的内存RAM4KB的页面大小在管理庞大内存时逐渐显得力不从心导致了性能瓶颈。为了突破这一限制安卓系统从安卓15开始引入了对16KB页面的支持并将在安卓16及更高版本中将其作为一项强制性的技术要求特别是对于搭载大内存的设备。这意味着应用和系统进程将以16KB为单位进行内存的分配和管理。3.16kb优势优势和性能提升配置为使用 16 KB 页面大小的设备平均会使用略多一些的内存但系统和应用的性能也会得到各种提升缩短了系统内存压力时的应用启动时间平均降低了 3.16%对于我们测试的某些应用而言改进幅度更大最高可达 30%应用启动期间的功耗降低平均降低了 4.56%相机启动更快热启动速度平均提高了 4.48%冷启动速度平均提高了 6.60%缩短了系统启动时间平均缩短了 8%约 950 毫秒这些改进基于我们的初始测试实际设备上的结果可能会有所不同。随着测试的继续进行我们将进一步分析应用的潜在收益。4.16kb打包方式变更AGP 版本 8.5 或更低版本注意 在 AGP 版本 8.3 至 8.5 中应用默认按 16 KB 对齐。不过bundletool默认情况下不会对 APK 进行 zipalign。因此该应用可能看起来可以正常运行但从 Play 中的 bundle 构建时它将无法安装。如果您无法将 AGP 升级到 8.5.1 版或更高版本则可以改用压缩共享库。更新 Gradle 配置以便 Gradle 在打包应用时压缩共享库从而避免因共享库未对齐而导致的应用安装问题。GroovyKotlin在build.gradle文件中添加以下选项android{...packagingOptions{jniLibs{useLegacyPackagingtrue}}}AGP 版本 8.0 或更低版本如果您使用的 AGP 版本不高于 8.0还需要在gradle.properties文件中为 App Bundle 停用未压缩的原生库选项android.bundle.enableUncompressedNativeLibsfalse5.mmkv适配根据官方文档mmkv适配16kb需要回退版本到1.3.14.implementation com.tencent:mmkv:1.3.14详细官方参考文档https://github.com/Tencent/MMKV/issues/1602https://github.com/Tencent/mmkv/releases/tag/v1.3.14修改前so:修改后so6.ZlwAudioRecorder录音适配implementation com.github.zhaolewei:ZlwAudioRecorder:v1.16参考文档https://github.com/zhaolewei/ZlwAudioRecorder/commit/075adbb4aac3644c99aecebd9bee92ab0759748b打包验证7.easyble蓝牙库适配参考文档https://github.com/wandersnail/easyble-x/releases// 低功耗蓝牙库implementation cn.wandersnail:easyble-x:1.5.6 implementation cn.wandersnail:commons-android:1.5.08.EpMedia适配https://github.com/yangjie10930/EpMedia/issues/287https://github.com/SoarY/EpMedia-16kb9.探鸽适配参考文档https://tange-ai.feishu.cn/wiki/wikcnxrR004MfDnSN0oAoWayLMh//探鸽依赖库 implementation(com.tange.ai:shell_core:2026.1.2) { exclude group: org.json, module: json } implementation com.tange.ai:core_ap_scan_oversea:2022.1208.1 implementation com.tange.ai:base_qrcode_mainland:2022.1031.210.tuya适配参考文档https://developer.tuya.com/cn/docs/app-development/changelog?idKa6o3br3pb4foimplementation(com.thingclips.smart:sweeper:6.7.1){exclude group:org.eclipse.paho}implementation com.thingclips.smart:thingsmart-ipcsdk:6.7.3 apienforcedPlatform(com.thingclips.smart:thingsmart-BizBundlesBom:6.7.12)11.极光推送适配参考文档https://docs.jiguang.cn/jpush/jpush_changelog/updates_Android修改后版本// 推送 def jpushVersion 6.2.0 Lefant_yingyongbaoImplementation cn.jiguang.sdk:jpush:$jpushVersion Lefant_google_selfImplementation cn.jiguang.sdk:jpush-google:$jpushVersion Lefant_googleImplementation cn.jiguang.sdk:jpush-google:$jpushVersion OKP_yingyongbaoImplementation cn.jiguang.sdk:jpush:$jpushVersion OKP_google_selfImplementation cn.jiguang.sdk:jpush-google:$jpushVersion OKP_googleImplementation cn.jiguang.sdk:jpush-google:$jpushVersion // 接入华为厂商 implementation com.huawei.hms:push:6.13.0.301 implementation cn.jiguang.sdk.plugin:huawei:6.2.0 // 极光厂商插件版本与接入 JPush 版本保持一致下同 implementation cn.jiguang.sdk.plugin:fcm:$jpushVersion // 接入 OPPO 厂商 implementation cn.jiguang.sdk.plugin:oppo:6.2.0 //以下为 OPPO 3.1.0 aar需要依赖 implementation commons-codec:commons-codec:1.22.0 implementation androidx.annotation:annotation:1.10.0 // 接入小米厂商 implementation cn.jiguang.sdk.plugin:xiaomi:$jpushVersion // 荣耀厂商 Lefant_yingyongbaoImplementation cn.jiguang.sdk.plugin:honor:10.0.13.305 OKP_yingyongbaoImplementation cn.jiguang.sdk.plugin:honor:10.0.13.305 implementation androidx.activity:activity:1.13.0 implementation androidx.core:core:1.19.0 implementation com.google.android.gms:play-services-auth:21.6.0 implementation com.google.android.gms:play-services-base:18.10.0 implementation com.google.android.gms:play-services-analytics:18.1.1 // 推送12.pl.droidsonroids.gif由于pl.droidsonroids.gif:android-gif-drawable:1.2.29找不到依赖库使用换成1.2.32版本如果实在不行去掉此库使用glide加载gif动画implementation ‘pl.droidsonroids.gif:android-gif-drawable:1.2.32’https://github.com/koral–/android-gif-drawable/issues/859?issuekoral–%7Candroid-gif-drawable%7C85713.android-pdf-viewer适配参考文档https://github.com/barteksc/AndroidPdfViewerV2/issues/35implementation io.github.oothp:android-pdf-viewer:3.2.0-beta06需要修改一个方法适配前适配后14.buyly适配implementation com.tencent.bugly:crashreport:4.1.9.3升级到专业版此问题解决如果公司有成本考虑不升建议直接去掉此sdk即可15.阿里云iotsdk适配dependencies { api com.aliyun.iot.aep.sdk:apiclient:0.1.9 api com.aliyun.iot.aep.sdk:sdk-framework:1.1.8 api com.aliyun.iot.aep.sdk:iot-credential:0.0.4.1 api com.aliyun.alink.linksdk:api-client-biz:1.0.3 api com.aliyun.iot.sdk:account-oa-ui:1.0.0.6 api com.alibaba.sdk.android.openaccount:openaccount-ui-default:3.7.17 api com.aliyun.alink.linksdk:connectsdk:1.0.3.2 api com.aliyun.iot.aep.sdk:jsbridge-external:0.1.8.4 api com.aliyun.iot.aep.component:router-external:0.1.20 api(com.alibaba.ailabs.iot:aisbase:1.0.0.131-aisbase) { exclude group: com.taobao.android, module: mtopsdk_allinone } //不使用breeze SDK功能baseutils?要集成上如集成了breeze-bizbaseutils可不额外集成 api com.alibaba.ailabs.tg:baseutils:1.0.2.10 //长连接SDK api com.aliyun.iot.aep.sdk:connectchannel:0.1.5.1 api com.aliyun.alink.linksdk:public-channel-mobile:1.5.7 //配网、设备模型SDK api com.aliyun.alink.linksdk:public-tmp:2.1.7 api(com.aliyun.alink.linksdk:devicecenter:1.10.6.8) api(com.aliyun.alink.linksdk:devicecenter-provision-core:1.10.6.8) api(com.aliyun.alink.linksdk:devicecenter-provision-reserve:1.10.6.8) api(com.alibaba.ailabs.iot:meshsdk:1.0.9.6) { exclude(group: com.alibaba.ailabs.iot, module: multiendinonebridge) } api(com.alibaba.ailabs.iot:gattlibrary:1.0.0.39-gatt) api(com.alibaba.ailabs.iot:bluetoothleSDK:1.0.0.48) api com.alibaba.ailabs.iot:multiendinonebridge:1.0.0.27 api com.aliyun.ams:alicloud-android-utdid:2.6.0 //https://help.aliyun.com/document_detail/140717.html api(com.aliyun.iotx:linkvisual-media:2.7.4-ilop) }16.16kb适配第三方工具https://www.npmjs.com/package/verify-16k-page-alignhttps://github.com/fzer0x/SoPageAligner17.适配后的截图最后还剩8个需要联系第三方sdk这里根据你自己的项目进行适配,因为我们最终第三方sdk给出了新版本所以适配基本上解决了其实核心就是更换升级第三方sdk.18.完整的适配后的版本// offline logimplementation com.thingclips.smart:thingsmart-logsdk:5.0.1 implementation com.thingclips.smart:thing-log-sdk:6.7.0//语言快绑引入的依赖库apienforcedPlatform(com.thingclips.smart:thingsmart-BizBundlesBom:7.8.0)api com.thingclips.smart:thingsmart-bizbundle-amazon_google_bind api com.thingclips.smart:thingsmart-bizbundle-mall implementation androidx.sqlite:sqlite:2.2.0 implementation net.zetetic:sqlcipher-android:4.17.0aar implementation androidx.core:core-ktx:1.19.0 implementation androidx.lifecycle:lifecycle-viewmodel-ktx:2.11.0 implementation org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0 def jpushVersion6.2.0 Lefant_yingyongbaoImplementationcn.jiguang.sdk:jpush:$jpushVersionLefant_google_selfImplementationcn.jiguang.sdk:jpush-google:$jpushVersionLefant_googleImplementationcn.jiguang.sdk:jpush-google:$jpushVersionOKP_yingyongbaoImplementationcn.jiguang.sdk:jpush:$jpushVersionOKP_google_selfImplementationcn.jiguang.sdk:jpush-google:$jpushVersionOKP_googleImplementationcn.jiguang.sdk:jpush-google:$jpushVersion// 接入华为厂商implementation com.huawei.hms:push:6.13.0.301 implementation cn.jiguang.sdk.plugin:huawei:6.2.0// 极光厂商插件版本与接入 JPush 版本保持一致下同implementationcn.jiguang.sdk.plugin:fcm:$jpushVersion// 接入 OPPO 厂商implementationcn.jiguang.sdk.plugin:oppo:6.2.0//以下为 OPPO 3.1.0 aar需要依赖implementation commons-codec:commons-codec:1.22.0 implementation androidx.annotation:annotation:1.10.0// 接入小米厂商implementationcn.jiguang.sdk.plugin:xiaomi:$jpushVersion// 荣耀厂商Lefant_yingyongbaoImplementationcn.jiguang.sdk.plugin:honor:10.0.13.305OKP_yingyongbaoImplementationcn.jiguang.sdk.plugin:honor:10.0.13.305implementation androidx.activity:activity:1.13.0 implementation androidx.core:core:1.19.0 implementation com.google.android.gms:play-services-auth:21.6.0 implementation com.google.android.gms:play-services-base:18.10.0 implementation com.google.android.gms:play-services-analytics:18.1.118.1 如果是老版本的kotlin和core库会有一些冲突统一版本configurations.all{resolutionStrategy{// 强制使用 OkHttp 4.10.0force com.squareup.okhttp3:okhttp:4.10.0// 强制关联的 Okio 版本force com.squareup.okio:okio:2.10.0 force androidx.core:core:1.15.0 forceandroidx.core:core-ktx:1.13.0forceandroidx.activity:activity:1.9.0forceandroidx.fragment:fragment:1.6.1}}18.2 过滤一些so冲突配置packagingOptions{pickFirst lib/*/liblog.so pickFirst lib/*/libgnustl_shared.so pickFirst lib/*/libc_shared.so pickFirst lib/*/libyuv.so pickFirst lib/*/libopenh264.so pickFirst lib/*/libv8wrapper.so pickFirst lib/*/libv8android.so pickFirst lib/*/libsqlcipher.so pickFirst lib/*/libGifLib.so exclude META-INF/INDEX.LIST exclude META-INF/*.SF exclude META-INF/*.DSA exclude META-INF/*.RSA }

相关新闻

2024-AAAI《Sample-Level Cross-View Similarity Learning for Incomplete Multi-View Clustering》

2024-AAAI《Sample-Level Cross-View Similarity Learning for Incomplete Multi-View Clustering》

核心思想 SCSL 直接从样本级跨视图关系构造完整相似矩阵。传统不完整多视图相似度方法只在同一视图内对共同存在的样本对建图,若两个样本从未同时出现在任一视图,相似度会永久缺失;列和约束还可能放大剩余小相似度。SCSL 用视图投影 W ( p ) W^{(p)} W(p

2026/8/4 3:44:24 阅读更多 →
Elasticsearch空值查询实战:从exists查询到性能优化全解析

Elasticsearch空值查询实战:从exists查询到性能优化全解析

1. 项目概述:为什么“空与非空”查询是ES的必修课在数据查询的世界里,判断一个字段是否存在、是否为空,是最基础也是最频繁的操作之一。无论是从传统关系型数据库(SQL)迁移过来的开发者,还是直接上手Elasti…

2026/8/4 3:44:24 阅读更多 →
MySQL数据比对实战:从SQL到哈希,高效定位表差异

MySQL数据比对实战:从SQL到哈希,高效定位表差异

1. 项目概述:为什么我们需要快速比较MySQL表数据差异? 在日常的数据库运维、数据迁移、ETL流程验证,甚至是日常开发中,我们经常会遇到一个看似简单却极其关键的需求:确认两个表里的数据是不是完全一致。比如&#xff0…

2026/8/4 3:43:23 阅读更多 →

最新新闻

直方图均衡化原理与Python实现:从基础到CLAHE实战

直方图均衡化原理与Python实现:从基础到CLAHE实战

1. 项目概述:直方图均衡化是什么,以及为什么你需要它 如果你处理过图像,尤其是那些在光线不佳条件下拍摄的照片,你肯定遇到过“对比度不足”的问题。整张照片看起来灰蒙蒙的,亮的地方不够亮,暗的地方不够暗…

2026/8/4 4:19:43 阅读更多 →
Unity游戏本地化实战:XUnity.AutoTranslator核心策略与部署指南

Unity游戏本地化实战:XUnity.AutoTranslator核心策略与部署指南

1. 项目概述:当Unity游戏遇上多语言之困做独立游戏开发或者接手海外项目移植的朋友,对“本地化”这个词一定不陌生。这不仅仅是把游戏里的英文文本替换成中文那么简单。一个完整的本地化流程,涉及到文本提取、翻译、字体适配、UI布局重构、甚…

2026/8/4 4:19:43 阅读更多 →
Ubuntu 22.04企业级密码策略实战:基于PAM构建系统安全防线

Ubuntu 22.04企业级密码策略实战:基于PAM构建系统安全防线

1. 项目概述:为什么企业级密码策略是系统安全的基石在任何一个稍有规模的企业IT环境中,服务器密码管理都是安全防线的第一道关口。我见过太多因为密码策略松懈而引发的安全事件:从员工使用“123456”或“password”作为root密码,到…

2026/8/4 4:19:43 阅读更多 →
大模型多轮对话与流式输出技术详解----> day11

大模型多轮对话与流式输出技术详解----> day11

1. 引言随着大语言模型(LLM)在对话系统、智能助手、代码生成等场景的广泛应用,多轮对话与流式输出已成为提升用户体验、降低响应延迟的关键技术。多轮对话让模型能够理解上下文、保持对话连贯性;流式输出则允许模型边生成边返回&a…

2026/8/4 4:19:43 阅读更多 →
支付宝支付接口对接全流程详解:从密钥配置到异步通知处理

支付宝支付接口对接全流程详解:从密钥配置到异步通知处理

1. 项目概述:从零到一搞定支付宝接口如果你正在开发一个需要在线收款的网站或应用,无论是电商、知识付费还是服务预约,接入支付宝支付几乎是国内市场的标配。但很多开发者,尤其是刚接触支付对接的朋友,拿到官方文档后常…

2026/8/4 4:19:43 阅读更多 →
智能仓储核心技术突破与实战经验分享

智能仓储核心技术突破与实战经验分享

1. 项目背景:从零开始的智能仓储突围战2014年的北京亦庄,一间不足80平米的简陋办公室里,几个年轻人正围着一台二手服务器激烈讨论。空调时好时坏,夏天室温经常超过35度,但这群来自物流装备和自动化领域的"老炮儿&…

2026/8/4 4:18:42 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →