Google Play 公布:2026 年 8 月 31 日起,所有新应用及应用更新必须 target Android 16(API level 36)。在维护 React Native 项目的开发者需同步调整 compileSdk 与 targetSdk,并适配平台行为变化。迁移步骤相对直接,但几个关键改动值得注意。
迁移步骤概要(React Native 项目)
安装 Android SDK Platform 36(Android Studio → SDK Manager)
更新 Gradle:compileSdk = 36,targetSdk = 36(无需改 minSdk)
更新 Android Gradle Plugin(例如 8.6.1)及 Gradle Wrapper(如 8.13)
验证 Kotlin 版本(推荐 2.0.21)
清理重建:cd android && ./gradlew clean && npx react-native run-android
检查清单(上传前确认)
安装 SDK 36 → 更新 compileSdk → 更新 targetSdk → 升级 AGP → 升级 Gradle → 验证 Kotlin → 更新第三方原生库 → 清理重建 → 在 Android 16 设备/模拟器测试 → 验证 edge-to-edge 布局 → 生成 release AAB → 上传 Play Console 检查警告
Android 16 重要行为变化
Edge-to-Edge 强制:应用内容会延伸到状态栏和导航栏下方,需用 SafeArea、react-native-safe-area-context 处理
大屏幕支持:宽度 ≥600dp 的设备(平板、折叠屏、Chromebook)将忽略方向锁定、宽高比限制,应用需适配不同窗口尺寸
后台调度变化:scheduleAtFixedRate() 在错过多次执行后只触发一次,减少无用后台工作
本地网络保护:与智能家居、打印机、IoT 设备等通信的应用建议提前测试,未来版本可能要求显式权限
照片选择器改进:如果用户仅授权“选定照片”,Android 16 会自动预选本应用创建的媒体
后台任务:JobScheduler 配额调整,使用 WorkManager/JobScheduler 的应用需验证任务执行
常见升级后问题
构建失败:一般因 AGP、Gradle、Kotlin、AndroidX 或第三方库过时引起
UI 问题:强制 edge-to-edge 导致内容被状态栏/导航栏遮挡,通常通过正确处理 WindowInsets 和 SafeArea 解决
推荐 React Native 版本:0.72 及以下建议升级,0.73–0.78 需充分测试,0.79+ 对新 SDK 支持更好
尽早迁移,避免 Play Console 提交问题,同时让应用获得最新的安全、隐私和性能改进。
#开发者 #工具 #Android16 #ReactNative #GooglePlay #API36 #迁移
@DevToolboxHub