Flutter应用部署Google Play Store遭拒,求助libpng版本升级方案
解决Flutter应用因libpng安全漏洞被Google Play拒绝的问题
这种情况我之前也碰到过!libpng几乎都是第三方依赖或者Flutter底层间接引入的,不用慌,按下面几步来排查解决:
定位引入旧版libpng的依赖
因为你没手动添加过libpng,肯定是某个第三方依赖间接带进来的。可以用以下命令排查:- 先查Flutter依赖树:在项目根目录运行
flutter pub deps --tree,然后在输出里搜索“libpng”相关的条目,找到对应的上游依赖。 - 也可以查Android端的Gradle依赖:进入项目的
android目录,运行./gradlew app:dependencies(Windows系统用gradlew.bat app:dependencies),同样搜索libpng,找到具体的依赖来源。
- 先查Flutter依赖树:在项目根目录运行
升级相关依赖
找到引入旧版libpng的依赖后:- 如果是pub.dev上的Flutter包,去它的页面看有没有更新版本,把
pubspec.yaml里的版本号升级到最新稳定版,然后运行flutter pub get。 - 如果是Flutter SDK本身引入的(比如Flutter引擎底层依赖),直接运行
flutter upgrade升级到最新稳定版,官方通常会及时跟进这类安全补丁。
- 如果是pub.dev上的Flutter包,去它的页面看有没有更新版本,把
强制替换libpng版本(兜底方案)
如果找不到具体依赖或者无法升级依赖,可以在Android的build.gradle(项目级或者app级)里强制指定安全版本的libpng,覆盖所有依赖的旧版本:configurations.all { resolutionStrategy { // 选一个符合要求的安全版本,比如1.6.x系列都满足修复要求 force 'org.libpng:libpng:1.6.38' } }清理缓存重新构建
完成上述操作后,一定要清理缓存避免旧依赖残留:- 运行
flutter clean - 进入
android目录运行./gradlew clean - 重新运行
flutter pub get后再打包上传
- 运行
内容的提问来源于stack exchange,提问作者Almissbah
相关产品推荐
相关产品推荐

