面对Google Play新政策,掌握Flutter项目升级至Android 14(API级别34)的关键步骤,确保应用持续上架及兼容性,获取官方延期申请细节与优化技巧,保持竞争力。

Google Play Flutter Android 14 强制升级说明 2024

Android 14 编译发布

视频

https://youtu.be/ZPX_TshfRcU

https://www.bilibili.com/video/BV1am42137vj

前言

原文 https://ducafecat.com/blog/android-14-target-platform-requirements-2024

猫哥我也是心大,当群友问我 flutter 如何升级编译 Android 14 时才发现需要提交新版本。

请在 2024年8月31日之前更新您的目标 API 级别,以发布应用的更新

Android 14(API 级别 34)成为 Google Play 应用强制更新目标平台

原文链接:https://support.google.com/googleplay/android-developer/answer/11926878?hl=zh-Hans

意思是

自 2024 年 8 月 31 日起:

新应用和应用更新必须以 Android 14(API 级别 34)为目标平台,才能提交到 Google Play(Wear OS 应用和 Android TV 应用除外,此类应用必须以 Android 13 或更高版本为目标平台)。
现有应用必须以 Android 13(API 级别 33)或更高版本为目标平台,Google Play 才会在新用户的设备搭载的 Android OS 版本高于应用的目标 API 级别时,继续向这些用户提供此类应用。如果应用以 Android 12(API 级别 31)或更低版本(如果是 Wear OS 应用,则为 Android 10 或更低版本;如果是 TV OS 应用,则为 Android 11 或更低版本)为目标平台,则只能在搭载的 Android OS 版本不高于应用的目标 API 级别的设备上使用。
如果您需要更多时间来更新应用,可申请延期至 2024 年 11 月 1 日。今年晚些时候,您将能够在 Play 管理中心内找到应用的延期表单。

本文将会说下如何编译 Android 14, API 级别 34。

Google Play, Android 14, API 级别 34, 应用程序目标平台, 平台升级要求, Android OS 版本兼容性

参考

https://developer.android.com/about/versions/14?hl=zh-cn

https://play.google/developer-content-policy/

https://developer.android.com/about/dashboards?hl=zh-cn

https://support.google.com/googleplay/android-developer/answer/11926878?hl=zh-Hans

步骤

flutter 版本检查

 flutter --version

Flutter 3.16.9 channel stable https://github.com/flutter/flutter.git
Framework revision 41456452f2 (6 个月前) • 2024-01-25 10:06:23 -0800
Engine revision f40e976bed
Tools Dart 3.2.6 DevTools 2.28.5

这个我项目的 flutter sdk 版本号本身没有太大的意义,只是给大家一个参考。

JDK 版本

Gradle JDK

从这张截图可以看出来,我用的是 runtime 17 的版本。

有的同学直接配置了系统全局,其实没必要,还会影响你其它应用的运行。

Android Studio 是支持这种单独指向的一个版本目录的。

Android SDK

SDK Platforms

SDK 版本选着好 Android 14 , API Level 34 。

SDK Tools

SDK Tools 我们选着 34.0.0 版本。

有的同学说看不到,你需要勾选右下角 Show Package Details 。

修改 build.gradle

文件 android/app/build.gradle

android {
    buildToolsVersion = '34.0.0'
    compileSdkVersion 34
  
    defaultConfig {
        minSdkVersion 34
        targetSdkVersion 34

参考我的配置,都改成 34。

最后编译

> flutter build appbundle
gradle.gradleVersion: 7.4
android.buildToolsVersion: 30.0.3
flutter.compileSdkVersion: 33
flutter.targetSdkVersion: 33
flutter.minSdkVersion: 19
flutter.ndkVersion: 23.1.7779620
Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 283452 to 2112 bytes (99.3% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 8088 bytes (99.5% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
Warning: An API level of 34 is not supported by this compiler. Please use an API level of 32 or earlier
Running Gradle task 'bundleRelease'...                            113.0s
 Built build/app/outputs/bundle/release/app-release.aab (46.8MB).

不用理睬上面 flutter 的版本申明,我们在 build.gradle 中已经强制修改了。

新 app bundle

上传后可以看到已经满足要求,收工。

小结

Google Play 于 2024 年 8 月 31 日起正式实施新的应用程序目标平台要求:所有新发布和更新的应用必须以 Android 14(API 级别 34)或更高版本为目标平台。现有应用也需尽快升级至 Android 13 或更高版本。这一举措旨在提升用户体验,增强应用程序的安全性和兼容性。开发者可申请延期至 2024 年 11 月 1 日完成升级,届时 Google Play 将提供相关表单。开发者务必及时关注并响应这一新政策,以确保应用程序在 Google Play 上的持续可用性。

感谢阅读本文

如果有什么建议,请在评论中让我知道。我很乐意改进。


flutter 学习路径


© 猫哥 ducafecat.com

end