You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改Flutter应用包名遇阻:现有工具失效,求iOS/Android最新解决方案

手动修改Flutter应用包名(iOS + Android)

工具包失效的情况很常见,尤其是Flutter版本迭代后,很多第三方工具跟不上节奏。我上个月刚完成过iOS和Android双平台的包名修改,手动操作全程可控,分享具体步骤:

Android 平台修改步骤

  • 打开android/app/build.gradle,修改两处:
    • 文件顶部的namespace字段替换为新包名(比如从com.old.app改成com.new.app)
    • defaultConfig块里的applicationId设置为相同的新包名,如果有productFlavors,也要同步修改每个flavor下的applicationId
  • 调整源码目录结构:找到android/app/src/main/java(或kotlin)下的旧包名目录,比如com/old/app,把它重命名为com/new/app,确保目录层级和新包名完全对应
  • 修改源码文件的包声明:打开目录下的MainActivity.kt(或Java文件),把顶部的package com.old.app改成package com.new.app
  • 检查android/app/src/main/AndroidManifest.xml:确认package属性和新包名一致(如果是较新的Flutter模板,这个值会和namespace同步,不过最好手动核对)
  • 清理缓存并重建:运行flutter clean,再执行flutter run测试

iOS 平台修改步骤

  • 打开ios/Runner.xcworkspace(不要用xcodeproj),在左侧选中Runner项目,切换到General标签页,找到Identity下的Bundle Identifier,直接修改为新包名
  • 检查Info.plist:打开ios/Runner/Info.plist,确认CFBundleIdentifier的值已经同步为新包名(Xcode修改General后一般会自动更新,但建议手动验证)
  • 重置Pod依赖:删除ios/Pods文件夹和ios/Podfile.lock,然后在终端进入ios目录运行pod install
  • 调整源码命名空间(如果用原生代码):如果项目里有自定义的Swift/OC文件,修改文件里的模块导入或命名空间声明,确保和新包名匹配
  • 清理缓存:运行flutter clean,然后用Xcode或flutter run启动项目验证

额外注意事项

  • 如果使用Firebase、推送服务等第三方平台,需要在对应控制台更新包名,重新下载配置文件(Android的google-services.json、iOS的GoogleService-Info.plist)并替换到项目中
  • 部分第三方插件可能在配置文件中硬编码了旧包名,需要检查android和ios目录下的插件配置文件,同步修改

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:12:32