Flutter中修改Application ID实现同设备双应用共存
修改Flutter应用的Application ID并实现双应用共存
要让原应用“A”和修改后的应用“B”能同时安装在同一设备,核心是保证Android的Application ID和iOS的Bundle Identifier完全唯一,同时修改应用名称。以下分平台说明具体操作:
Android 平台修改步骤
修改Application ID
打开android/app/build.gradle文件,找到defaultConfig块里的applicationId字段,将原ID(比如com.example.a)替换为新的唯一ID(比如com.example.b):defaultConfig { applicationId "com.example.b" // 替换成新的ID minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName }如果想保留原应用的同时生成新应用,推荐使用Product Flavors,不用改动原配置,新增一个flavor即可:
flavorDimensions "app" productFlavors { a { dimension "app" applicationId "com.example.a" resValue "string", "app_name", "A" } b { dimension "app" applicationId "com.example.b" resValue "string", "app_name", "B" } }构建时选择对应的flavor就能生成两个独立的应用。
修改应用名称
打开android/app/src/main/res/values/strings.xml,修改app_name的值为“B”:<string name="app_name">B</string>如果用了Product Flavors,无需修改该文件,直接在flavor配置中通过
resValue指定应用名称即可。
iOS 平台修改步骤
修改Bundle Identifier
打开iOS项目(在Xcode中打开ios/Runner.xcworkspace):- 选中左侧的
Runner目标,进入Signing & Capabilities标签页 - 在
Bundle Identifier输入框中,将原ID(比如com.example.a)改为新的唯一ID(比如com.example.b)
- 选中左侧的
修改应用名称
- 在
Runner目标的Info标签页,找到Bundle display name字段,修改为“B” - 或者直接编辑
ios/Runner/Info.plist文件,修改CFBundleDisplayName的值:<key>CFBundleDisplayName</key> <string>B</string>
- 在
验证共存
修改完成后,分别构建原应用“A”和修改后的应用“B”(如果用flavor则选择对应的变体构建),安装到同一设备上,确认两个应用能正常显示并独立运行。
内容的提问来源于stack exchange,提问作者Eddy Hezarian
相关产品推荐
相关产品推荐

