解决Flutter项目集成极光推送问题--AndroidMainfest.xml中ApplicationName未定义报错

346 阅读1分钟

首先按照插件文档配置

    defaultConfig {
      	// ...其他配置省略
				manifestPlaceholders = [
                JPUSH_PKGNAME: applicationId,
                JPUSH_APPKEY : "xxx", // NOTE: JPush 上注册的包名对应的 Appkey.
                JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
        ]
    }

JPush Flutter Plugin 上面代码为官方文档的使用说明用法,这样配置后构建会导致一个报错,告诉你AndroidMainfest.xml中的applicationName未定义

image.png

image.png

而实际上,这个类名是由Flutter自动生成的,在未集成插件之前正常编译,集成之后报错,由此可推导按照极光文档的配置写法写到gradle脚本中会覆盖掉由Flutter的构建脚本自动生成的配置

image.png

大概意思就是根据配置来决定不同的applicationName,但实际上的值我们并不关心,要解决的问题 Flutter的默认脚本配置 + Flutter项目中的手动配置 = 合并结果

只需要将manifestPlaceholders改为+=,问题即可解决 image.png

脚本使用的是groovy语言,而这个语法就是数组合并的意思 image.png

问题解决 : )