应用研发平台EMAS目前支持flutter可以比较方便接入吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,应用研发平台EMAS目前支持Flutter接入,并且提供了较为便捷的方式。以下是详细的接入说明和相关信息:
EMAS移动推送为Flutter开发者提供了官方维护的插件,开发者可以通过该插件快速集成移动推送功能到多端(iOS、Android等)应用中。
- 特点: - 支持跨平台开发,通过一套代码即可覆盖多个平台。 - 性能达到原生级别,确保高效运行。 - 开源地址:EMAS移动推送Flutter插件的代码已开源,开发者可以查看源码以更好地理解其工作原理。
在接入Flutter插件之前,需要下载并配置EMAS的统一配置文件: - Android端:aliyun-emas-services.json
文件需放置在应用根目录下的 /app/
文件夹中。 - iOS端:AliyunEmasServices-Info.plist
文件需拖入Xcode项目的对应App Target中,并勾选 Copy items if needed
。
aliyun-emas-services.json
文件,将需要使用的服务(如移动推送)对应的 status
设置为 1
,然后同步Gradle文件完成依赖添加。autoInit
接口完成初始化。在iOS 14及以上版本中,如果Flutter应用以Debug模式运行,可能会遇到无法启动的问题。解决方法如下: - 在Xcode的 Build Settings
中,找到 User-Defined
,添加一个键值对: - 键:FLUTTER_BUILD_MODE
- 值:profile
(Debug模式)或 release
(Release模式)。 - 如果通过云构建提交测试包,建议使用Debug模式的 for development
方式导出ipa包。
需要注意的是,动态部署框架(如多classloader实现)目前暂不支持。如果您的项目依赖此类框架,请提前评估兼容性。
对于使用云构建服务的Flutter iOS项目,EMAS提供了详细的构建脚本和步骤: - 设置镜像源以加速构建过程。 - 确保Flutter SDK和CocoaPods仓库已正确配置。 - 执行以下命令完成构建:
flutter clean
flutter pub get
flutter precache -ios
gradle.properties
中添加以下配置:
android.useAndroidX=true
android.enableJetifier=true
综上所述,EMAS对Flutter的支持较为完善,开发者可以通过官方插件和文档快速完成接入。如果有特殊需求(如动态部署框架),请提前确认兼容性。