【Android】Android TargetSdk 35 -> 36迁移要点
Android TargetSdk 35 - 36迁移要点1. 先升级构建工具2. 返回事件必须迁移3. Edge-to-edge 必须适配4. 平板横屏适配5. 检查 16 KB Page Size其他需要处理的项目1. 先升级构建工具项目 当前 建议━━━━━━━━━━━━━━━━━━━━━━━━targetSdk 35 改为 36──────────── ─────── ─────────────compileSdk 35 改为 36──────────── ─────── ─────────────AGP 8.6.1 至少 8.9.1──────────── ─────── ─────────────Gradle 8.7 至少 8.11.1──────────── ─────── ─────────────JDK — JDK 17API 36 官方要求最低 AGP 8.9.1AGP 8.9 对应 Gradle 8.11.1。Android API/AGP 兼容表 (https://developer.android.com/build/releases/about-agp)、Android 16 SDK配置 (https://developer.android.com/about/versions/16/setup-sdk)至少需要修改android { compileSdk 36 defaultConfig { targetSdk 36 } }你的所有 Android Library 模块也建议统一为compileSdk 362. 返回事件必须迁移Android 16 上应用 target 36 后Activity.onBackPressed() 不再被调用。需要迁移到onBackPressedDispatcher.addCallback( this, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { // 原 onBackPressed() 逻辑 } } )Compose 页面使用BackHandler { // 返回逻辑 }暂时来不及迁移可以在 Manifest 临时关闭预测返回application android:enableOnBackInvokedCallbackfalse但建议最终迁移到 OnBackPressedDispatcher。Android 16 返回行为变化 (https://developer.android.com/about/versions/16/behavior-changes-16)、预测返回迁移指南(https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture)3. Edge-to-edge 必须适配如果当前使用了item nameandroid:windowOptOutEdgeToEdgeEnforcementtrue/itemtarget 36 在 Android 16 上会忽略这个属性无法退出 Edge-to-edge。需要使用 WindowInsetsCompat 给状态栏、导航栏、刘海和 IME 添加正确的 paddingCompose 使用WindowInsets.safeDrawing 或 safeDrawingPadding()。建议在公共 BaseActivity 中统一处理适配完成后删除 windowOptOutEdgeToEdgeEnforcement。官方 Edge-to-edge 变化(https://developer.android.com/about/versions/16/behavior-changes-16)4. 平板横屏适配如果 Activity 设置了android:screenOrientationportraittarget 36 后在 sw600dp 及以上的平板、折叠屏上该限制会被忽略。需要检查横屏、分屏和 Activity 重建后的状态恢复。临时退出方式application property android:nameandroid.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY android:valuetrue / /application这个退出方式只是临时方案target API 37 后不再有效。Android 16 大屏行为变化 (https://developer.android.com/about/versions/16/behavior-changes-16)5. 检查 16 KB Page Size比如 APK 包含lib/arm64-v8a/libandroidx.graphics.path.so lib/arm64-v8a/libdatastore_shared_counter.so这现有 APK 的 ZIP 16 KB 对齐如果已经通过但还应使用 Android Studio APK Analyzer 或 check_elf_alignment.sh 检查 ELF 段并在 16 KB API 36 模拟器测试。GooglePlay 已要求面向 Android 15 以上的应用支持 16 KB 页大小。16 KB 官方指南 (https://developer.android.com/guide/practices/page-sizes)其他需要处理的项目代码中如果发现以下 API通常需要额外修改BODY_SENSORSMediaStore.getVersion()scheduleAtFixedRate()直接使用 JobScheduler局域网发现或原始 Socket优先处理顺序建议是AGP、Gradle、compileSdk所有 onBackPressed()Edge-to-edge平板横屏16 KB 测试Google Play 从 2026 年 8 月 31 日开始要求新应用和更新 target API 36。Google Play target API 要求(https://developer.android.com/google/play/requirements/target-sdk)

相关新闻

OpenNews MCP数据结构详解:一文读懂新闻数据的每一个字段

OpenNews MCP数据结构详解:一文读懂新闻数据的每一个字段

OpenNews MCP数据结构详解:一文读懂新闻数据的每一个字段 【免费下载链接】opennews-mcp News Aggregation AI Ratings Trading Signals Real-time Updates 项目地址: https://gitcode.com/gh_mirrors/op/opennews-mcp OpenNews MCP是一款功能强大的新闻聚…

2026/10/7 17:03:32 阅读更多 →
采样率设成 1% 那次,最慢的那批请求一条都没采到:可观测性三支柱的 4 个反直觉细节

采样率设成 1% 那次,最慢的那批请求一条都没采到:可观测性三支柱的 4 个反直觉细节

title: 采样率设成 1% 那次,最慢的那批请求一条都没采到:可观测性三支柱的 4 个反直觉细节 tags: 可观测性,链路追踪,OpenTelemetry,日志,指标 category: 后端一个查了三个小时也没查出来的慢接口去年 6 月,运营反馈履约中心的"订单详情…

2026/10/4 0:37:23 阅读更多 →
蝉鸣拉开暑假的序幕

蝉鸣拉开暑假的序幕

燥热的蝉鸣拉开暑假的序幕,长达两月的假期,褪去了校园里紧凑的课业压力,生活慢慢放缓了脚步。不用早起追赶早读,不用整日埋在习题里,我们拥有充足的时间按照自己的节奏生活。有人奔赴山川大海,和家人结伴出…

2026/9/23 20:18:50 阅读更多 →

最新新闻

大语言模型评测论文HELM阅读笔记:从评测维度到TaoToken统一API的落地实践

大语言模型评测论文HELM阅读笔记:从评测维度到TaoToken统一API的落地实践

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

2026/10/9 12:59:40 阅读更多 →
进销存系统从用例图到数据库设计:一张图厘清库存与权限边界

进销存系统从用例图到数据库设计:一张图厘清库存与权限边界

简介:这套超市进销存管理系统资源,面向超市运营管理者、信息系统开发学习者及毕业设计人员,提供一套涵盖商品进货、销售管理、库存统计与订单追踪的完整业务方案。资源为RAR压缩包(2.03MB),内含103个文件&a…

2026/10/9 12:59:40 阅读更多 →
马丁EA源码解读:从加仓逻辑到回测实盘避坑指南

马丁EA源码解读:从加仓逻辑到回测实盘避坑指南

简介:一份融合外汇EA策略与MATLAB重建仿真的技术资源。标题指向Amazing5马丁EA,适合量化交易开发者研读马丁格尔策略的加仓与风控逻辑;包内实际以MATLAB的m脚本和mat数据为主,完整呈现基于Tikhonov正则化的超分辨率重建仿真流程&a…

2026/10/9 12:59:40 阅读更多 →
Claude Code 计划批准提醒(Plan Approved)机制解析:从批准到编码的完整衔接

Claude Code 计划批准提醒(Plan Approved)机制解析:从批准到编码的完整衔接

文档提示工程人工智能 【免费下载链接】claude-code-system-prompts All parts of Claude Codes system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, s…

2026/10/9 12:59:39 阅读更多 →
北京大学MOOC Java程序设计:从零构建面向对象思维与实战

北京大学MOOC Java程序设计:从零构建面向对象思维与实战

1. 这门课到底在讲什么:从标题拆解核心定位“Java程序设计”这五个字看起来平平无奇,但加上“北京大学MOOC”这个限定,它的定位就完全不一样了。这不是市面上那种“三天速成Java”“从入门到精通”的营销课,而是一门正经的、有完整…

2026/10/9 12:59:39 阅读更多 →
.NET ILogger日志体系详解:从结构化日志到生产级配置实战

.NET ILogger日志体系详解:从结构化日志到生产级配置实战

做后端服务这些年,日志一直是我觉得最值得花心思打磨的基础设施。很多兄弟可能觉得日志嘛,不就是到处打Console.WriteLine或者Debug.WriteLine,出了问题打开控制台看一下就行。但等你真正把一个服务跑上生产,几千个请求涌进来的时…

2026/10/9 12:58:38 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →