Android 原生移动应用程序需要更新
谷歌最近宣布,自 2021 年 XNUMX 月起,所有 新 发布到 Android 原生移动应用程序 谷歌Play商店 必须符合 Android API 30,并且自 2021 年 XNUMX 月起, 更新 Android 应用程序也必须遵守。
背后的原因是:
“每个新的 Android 版本都会引入一些变化,带来显著的安全性和性能改进,并提升 Android 的整体用户体验。其中一些变化仅适用于通过其应用程序明确声明支持的应用程序 目标SDK版本 manifest 属性(也称为目标 API 级别)。
将应用配置为以较新的 API 级别为目标可确保用户能够从这些改进中受益,同时仍允许其在较旧的 Android 版本上运行。以较新的 API 级别为目标还允许您的应用利用平台的 最新功能 让您的用户满意。此外,从 Android 10(API 级别 29)开始,用户 看到警告 如果应用程序的目标版本是 Android 5.1(API 级别 22)或更低版本,则首次启动应用程序时。”
Android应用套装
Google 还宣布,新应用应使用应用包来发布(新的)Play 商店内容。请注意,该功能已得到以下开发者的支持: Mendix 自 2021 年 XNUMX 月起,在构建移动应用时将其作为 UI 的一部分,因此 无需针对 App Bundles 要求采取任何行动。您只需打开“同时构建 Android 应用程序包”开关即可。请注意,此设置仅在您配置了 Android 证书后才可用。
这对我意味着什么?
本节将解释这对现有项目和应用程序意味着什么。
无需采取任何行动:
- 如果你已经创建了一个新应用 Mendix 9.4年或以后
- 如果你不为 Android 开发原生应用
如果上述两个原因不适用,那么您必须采取以下两节中概述的步骤:
如果您计划在 Google Play 商店发布新应用,则需要特别注意。如果您已在应用商店发布了应用,则必须在 2021 年 XNUMX 月之前解决此问题。
更新步骤
1.更新原生移动资源模块
受到影响的一项功能是“拍照”操作,因为底层技术正在更新以符合新准则。
要更新此操作,请下载最新版本的 原生移动资源模块 从 Marketplace 下载。注意:如果您使用的是 9.4 或更高版本,则在使用旧版本时会出现一致性错误。此模块适用于 Mendix 8.18 和 9.0.5 及更高版本
对于 Mendix 8,建议用户使用 LTS版本 (Mendix 8.18)。但是,如果您还无法升级到 8.18.0 或更高版本,则可以将该操作下载为单独的文档,然后将其导入到您的项目中。
迁移拍照操作。
在更新版本中,没有从相机或图片库中选择图片的选项。如果您使用拍照操作,则需要将其作为参数传递。
如果您希望用户可以从相机或图片库中进行选择,则可以对此进行建模,例如使用底部表单小部件(也是原生移动资源模块的一部分)。您可以在 Atlas 设计系统应用程序 在 Atlas_DesignSystem > NativeMobile > NanoflowActions > NativeMobileResources > Take Picture 下。
请注意,如果您不更新拍照操作,它将在 Make It Native App 中停止工作。
2. 构建原生移动应用的新版本
有两种方法可以更新您的原生移动应用。建议大多数用户使用自动方法。但是,对于高级用户和某些情况,手动更新可能更可取。
自动化方法
构建新版本的原生移动应用以符合新指南的标准方法是通过 Studio Pro 中的(应用/项目 → 构建原生移动应用)打开构建应用的 UI。UI 将要求自动更新您的应用源(NativeTemplate)。对更新问题回答“是”,更新后的应用源将自动满足要求。请注意,如果您对应用源(NativeTemplate)进行了手动更改,则可能需要应用这些更改。更新使用单个提交完成,因此您可以从那里看到完成的更改。
手动方法(高级)
如果您想手动更新版本而不触及其他内容,请按照以下步骤操作。请注意,这是一种更高级的方法。如果您不确定如何执行此操作,自动化方法可能更好。
Mendix 9
1. 更新 package.json
2.删除文件patches/react-native-image-picker+2.3.4.patch
对于Android
1. 更新 android/build.gradle 文件中的目标

对于iOS
1. 更新 ios/Podfile
Mendix 8
1. 更新 package.json
对于Android
1. 更新 android/settings.gradle
2. 更新 android/app/build.grade
3. 更新 android/build.gradle 文件中的目标
对于iOS
1. 更新 ios/Podfile






