BearVPN 快速参考
🚀 快速开始
1. 克隆项目后立即修改
# 1. 修改应用名称
# 文件: pubspec.yaml
name: your_app_name
# 2. 修改包标识符
# iOS: ios/Base.xcconfig
BASE_BUNDLE_IDENTIFIER=com.yourcompany.yourapp
# macOS: macos/Runner/Configs/AppInfo.xcconfig
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.yourapp
# Android: android/app/build.gradle
applicationId "com.yourcompany.yourapp"
# 3. 配置签名信息
# 文件: ios_signing_config.sh 和 macos_signing_config.sh
export APPLE_ID="your-apple-id@example.com"
export TEAM_ID="YOUR_TEAM_ID"
📁 关键文件位置
| 配置项 |
文件位置 |
说明 |
| 应用名称 |
pubspec.yaml |
项目基础配置 |
| API 域名 |
lib/app/common/app_config.dart |
API 服务器域名 |
| iOS 包名 |
ios/Base.xcconfig |
iOS 包标识符 |
| macOS 包名 |
macos/Runner/Configs/AppInfo.xcconfig |
macOS 包标识符 |
| Android 包名 |
android/app/build.gradle |
Android 应用 ID |
| iOS 签名 |
ios_signing_config.sh |
iOS 签名配置 |
| macOS 签名 |
macos_signing_config.sh |
macOS 签名配置 |
| 多语言 |
assets/translations/ |
翻译文件目录 |
| 应用图标 |
assets/images/logo.svg |
主 Logo |
🔧 常用命令
Flutter 命令
# 安装依赖
flutter pub get
# 清理项目
flutter clean
# 构建各平台
flutter build apk # Android
flutter build ios # iOS
flutter build macos # macOS
flutter build windows # Windows
flutter build web # Web
构建脚本
# iOS 构建
./build_ios.sh
# macOS 构建
./build_macos_simple.sh
# 签名和打包
./sign_and_package.sh
# 公证
./notarize_only.sh
🎨 图标尺寸
| 平台 |
尺寸 |
位置 |
| iOS |
1024x1024 |
ios/Runner/Assets.xcassets/AppIcon.appiconset/ |
| macOS |
1024x1024 |
macos/Runner/Assets.xcassets/AppIcon.appiconset/ |
| Android |
512x512 |
android/app/src/main/res/mipmap-xxxhdpi/ |
| Web |
512x512 |
web/icons/Icon-512.png |
🌍 支持的语言
- 🇨🇳 简体中文 (
strings_zh.i18n.json)
- 🇹🇼 繁体中文 (
strings_zh_Hant.i18n.json)
- 🇺🇸 英文 (
strings_en.i18n.json)
- 🇯🇵 日文 (
strings_ja.i18n.json)
- 🇪🇸 西班牙文 (
strings_es.i18n.json)
- 🇷🇺 俄文 (
strings_ru.i18n.json)
- 🇪🇪 爱沙尼亚文 (
strings_et.i18n.json)
⚠️ 必须修改的占位符
| 占位符 |
说明 |
文件位置 |
apicn.bearvpn.top |
API 主域名 |
lib/app/common/app_config.dart |
apibear.nsdsox.com |
API 备用域名 |
lib/app/common/app_config.dart |
xxxxxxxx@example.com |
Apple ID |
所有签名脚本 |
xxxxxxxxxxxxxxxx |
App 专用密码 |
所有签名脚本 |
XXXXXXXXXX |
Team ID |
所有签名脚本 |
Your Company Name |
公司名称 |
签名配置 |
Your Name |
开发者姓名 |
签名配置 |
com.yourcompany.yourapp |
包标识符 |
所有平台配置 |
🌐 域名配置详解
修改 API 服务器域名
// 文件: lib/app/common/app_config.dart
class KRDomain {
// 1. 修改主域名列表
static List<String> kr_baseDomains = [
"your-api-domain.com", // 替换为您的API域名
"backup-api-domain.com" // 备用API域名
];
// 2. 修改当前使用的域名
static String kr_currentDomain = "your-api-domain.com";
// 3. 修改备用域名获取地址(可选)
static List<String> kr_backupDomainUrls = [
"https://your-backup-server.com/domains.txt",
// 添加更多备用地址
];
// 4. 修改本地备用域名(可选)
static List<String> kr_localBackupDomains = [
"api.yourcompany.com",
"backup.yourcompany.com",
// 添加更多本地备用域名
];
}
域名配置说明
- 主域名列表: 应用会按顺序尝试这些域名
- 当前域名: 应用启动时使用的默认域名
- 备用域名地址: 当主域名都不可用时,从这些地址获取新的域名列表
- 本地备用域名: 最后的兜底方案,当所有其他方式都失败时使用
🔐 签名流程
iOS 签名
- 修改
ios_signing_config.sh
- 运行
source ios_signing_config.sh
- 运行
./build_ios.sh
macOS 签名
- 修改
macos_signing_config.sh
- 运行
source macos_signing_config.sh
- 运行
./sign_and_package.sh
📱 平台支持
| 平台 |
状态 |
构建脚本 |
| iOS |
✅ |
build_ios.sh |
| macOS |
✅ |
build_macos_simple.sh |
| Android |
✅ |
flutter build apk |
| Windows |
✅ |
flutter build windows |
| Linux |
✅ |
flutter build linux |
| Web |
✅ |
flutter build web |
🆘 故障排除
常见问题
- 签名失败: 检查证书是否有效
- 构建失败: 运行
flutter clean && flutter pub get
- 公证失败: 检查 Apple ID 和密码
- 图标不显示: 检查图标文件路径和尺寸
调试命令
# 检查连接
./debug_connection.sh
# 测试连接
./test_connection.sh
# 检查公证状态
./check_notarization_status.sh
💡 提示: 修改配置后记得运行 flutter clean && flutter pub get 重新构建项目。