【Flutter】Flutter 中的 Android / iOS 特殊配置 ② ( Android 应用包名 Application ID 设置 | iOS 捆绑包标识符 Bundle ID 设置)
·
参考文档 :
- Flutter 官方文档 : https://docs.flutter.dev/install/quick
- 使用出现网络问题 , 参考 在中国网络环境下使用 Flutter 文档 ;

一、Android 应用包名 Application ID 设置
核心配置文件 是 /android/app/build.gradle 配置文件 , 或者 /android/app/build.gradle.kts 配置文件 ;
- Groovy 配置 :
/android/app/build.gradle配置文件 是 Groovy 配置文件 , 找到defaultConfig节点,修改applicationId属性值即可 ;
android {
defaultConfig {
// 这里就是 Android 包名,全局唯一
applicationId "com.example.myapp"
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
- Kotlin 配置 :
/android/app/build.gradle.kts配置文件 是 Kotlin 配置文件 , 需要修改两个配置 , 分别是android下的namespace属性 , 和android/defaultConfig下的applicationId配置 ;- 资源包名 : namespace 是 资源 / R类 的包名 , 建议和 applicationId 一致 ,
- 应用包名 : applicationId 是 最终上架/系统识别的 " 应用包名 " , 建议和 namespace 一致 ;
android {
namespace = "com.example.charg"
defaultConfig {
applicationId = "com.example.charg"
}
}

建议将 Android 应用包名 Application ID , 与 iOS 的 捆绑包标识符 Bundle ID 设置成相同的值 ;
Android 修改包名后 , 必须同步修改 其它配置 ,
默认生成的 AndroidManifest.xml 代码 是 如下样式 ,
Launcher Activity 是 android:name=".MainActivity" 配置 ,
通过 包名.MainActivity 查找对应的入口类 ,
如果我们修改了包名 ,
此处必须设置 MainActivity 的 完整路径 , 避免报错 ;
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity">
二、iOS 捆绑包标识符 Bundle ID 设置
修改 /ios/Runner/Info.plist 配置文件 中的 CFBundleIdentifier 字段对应的属性值 ,
<key>CFBundleIdentifier</key>
<string>com.example.myapp</string>

上面的 CFBundleIdentifier 对应的值为 $(PRODUCT_BUNDLE_IDENTIFIER) ;
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
PRODUCT_BUNDLE_IDENTIFIER 定义在 /ios/Runner.xcodeproj/project.pbxproj 配置文件 中 ;
更多推荐



所有评论(0)