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/10/17 8:30:30 阅读更多 →
Elasticsearch空值查询实战:从exists查询到性能优化全解析

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

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

2026/10/17 0:06:39 阅读更多 →
MySQL数据比对实战:从SQL到哈希,高效定位表差异

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

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

2026/10/16 14:23:19 阅读更多 →

最新新闻

水文站点实时数据爬虫:Selenium+Requests混合方案实战

水文站点实时数据爬虫:Selenium+Requests混合方案实战

简介:本资源是一套面向Python初学者与数据爱好者设计的水文实时数据采集与可视化实践项目,聚焦网络爬虫与基础数据分析能力训练,适用于环境监测、水利信息化等场景的入门级技术验证。压缩包共9个文件,含3个核心Python脚本&#xf…

2026/10/18 23:09:18 阅读更多 →
PLaMo 2的MLX版本初体验:plamo-2-translate-bf16在Mac上免费本地运行8B英日翻译模型的完整概览指南

PLaMo 2的MLX版本初体验:plamo-2-translate-bf16在Mac上免费本地运行8B英日翻译模型的完整概览指南

【免费下载链接】plamo-2-translate-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/plamo-2-translate-bf16 点击查看 免费下载 本文带你完整了解 plamo-2-translate-bf16:由 mlx-community 制作的 PLaMo 2 8B 英日翻译模型 MLX 版本…

2026/10/18 23:09:18 阅读更多 →
Windows 64位下CUDA 11.4与cuDNN v8.2.2.26运行库配置指南

Windows 64位下CUDA 11.4与cuDNN v8.2.2.26运行库配置指南

简介:这是一份面向 Windows 深度学习开发者的 CUDA 11.4 配套组件包,提供 NVIDIA cuDNN v8.2.2.26 的完整 x64 运行库与头文件,专为搭配 CUDA Toolkit 11.4 使用,适合需要配置 TensorFlow、PyTorch 等框架 GPU 加速环境的开发者。…

2026/10/18 23:09:18 阅读更多 →
深入理解 Claude Code 源码:终端 Agent 的工程解剖与实现

深入理解 Claude Code 源码:终端 Agent 的工程解剖与实现

简介:《深入理解Claude Code源码》面向希望深入终端AI Agent内部实现的技术人员,系统剖析Anthropic命令行编程助手的架构设计、工程实践与编程哲学。全书25章加2个附录,覆盖查询引擎、工具系统、Agent编排、六层权限模型、MCP协议、状态管理与…

2026/10/18 23:09:18 阅读更多 →
提示工程架构师:从提示词设计到稳定落地的完整指南

提示工程架构师:从提示词设计到稳定落地的完整指南

1. 提示工程架构师到底在做什么——角色拆解与价值锚点1.1 从一个不起眼的输入框说起大概在两三年前,我很难想象"提示工程架构师"会成为一个正经职业头衔。当时身边人听说我在研究"怎么跟AI说话",第一反应都是:那不就是写…

2026/10/18 23:09:18 阅读更多 →
78B多模态大模型如何落地?InternVL2_5-78B-MPO多卡部署与省显存量化完整攻略

78B多模态大模型如何落地?InternVL2_5-78B-MPO多卡部署与省显存量化完整攻略

【免费下载链接】InternVL2_5-78B-MPO 项目地址: https://ai.gitcode.com/OpenGVLab/InternVL2_5-78B-MPO 点击查看 免费下载 InternVL2_5-78B-MPO 是一款基于 ViT-MLP-LLM 架构的开源多模态大模型,融合了 6B 视觉编码器 InternViT 与 72B 语言模型 Qwe…

2026/10/18 23:08:17 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →