You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

开发Flutter Android应用时遭遇构建失败及插件兼容问题求助

解决Flutter Android构建失败:资源编译错误与插件弃用警告

我来帮你搞定这两个Flutter Android构建里的问题,先处理直接导致构建失败的资源编译错误,再解决插件弃用的警告:

一、修复mergeDebugResources资源编译失败问题

你碰到的无效配置'h??????dp-v13'sw??????dp-v13'错误,是因为构建过程生成了乱码的资源目录,大概率是Gradle缓存或字符编码出了问题,试试下面的方案:

  • 清理项目缓存与构建文件
    这是最常用的解决思路,先彻底清理再重新构建:

    # 清理Flutter项目缓存
    flutter clean
    

    接着手动删除Android目录下的.gradle文件夹(路径:/Users/mac/Desktop/main_files/source/news_app/android/.gradle),最后重新运行项目:

    flutter run
    
  • 统一字符编码配置
    在项目根目录的gradle.properties文件中添加以下配置,确保构建过程使用UTF-8编码:

    org.gradle.jvmargs=-Dfile.encoding=UTF-8
    android.overridePathCheck=true
    
  • 手动移除乱码资源目录
    直接删掉报错的乱码目录:

    /Users/mac/Desktop/main_files/source/news_app/build/app/intermediates/incremental/mergeDebugResources/merged.dir/values-h??????dp-v13/
    /Users/mac/Desktop/main_files/source/news_app/build/app/intermediates/incremental/mergeDebugResources/merged.dir/values-sw??????dp-v13/
    

    删除后重新执行构建命令即可。

二、处理facebook_audience_network插件弃用警告

这个警告提示插件用了已弃用的Android Embedding V1,未来Flutter版本会移除相关API,避免后续故障可以这么做:

  • 升级插件到最新版本
    打开项目的pubspec.yaml,检查facebook_audience_network的版本号,替换成最新版本,然后执行flutter pub get更新依赖,新版插件基本都适配了Embedding V2。

  • 迁移插件(针对插件开发者)
    如果你是这个插件的维护者,需要把插件迁移到V2 Embedding:

    • 更新插件的AndroidManifest.xml配置,移除旧的注册逻辑
    • FlutterActivity相关的旧API替换成V2版本的FlutterFragmentActivity或新版FlutterActivity
    • 调整插件的注册方式,使用新的FlutterPlugin接口
  • 替换插件(如果无法更新)
    如果这个插件长时间没维护,没有适配V2的版本,建议换成其他活跃维护的广告插件,比如google_mobile_ads,它支持AdMob广告,功能稳定且适配最新的Flutter版本。

内容的提问来源于stack exchange,提问作者Haider Alzamily

火山引擎 最新活动