返回
如何为 Flutter APK 在 Android Studio 中构建特定环境 APK?
Android
2024-03-22 09:56:47
如何为 Flutter APK 在 Android Studio 中构建特定环境 APK
问题
在 Android Studio 中,为一个带有不同环境(如开发、UAT)的 Flutter 项目构建 APK 时,可能无法设置构建目标。
解决方法
1. 修改 build.gradle 文件
在 android/app/build.gradle
文件中,添加以下代码:
buildTypes {
debug {
buildConfigField "String", "ENV", "\"dev\""
}
release {
buildConfigField "String", "ENV", "\"uat\""
}
}
这会创建构建配置字段 ENV
,并根据构建类型(调试或发布)将其设置为 "dev" 或 "uat"。
2. 创建产品风味
在 android/app/build.gradle
文件中,添加以下代码:
productFlavors {
dev {
applicationIdSuffix ".dev"
buildConfigField "String", "FLAVOR", "\"dev\""
}
uat {
applicationIdSuffix ".uat"
buildConfigField "String", "FLAVOR", "\"uat\""
}
}
这会创建两个产品风味(dev 和 uat),每个风味都有自己的应用 ID 后缀和构建配置字段 FLAVOR
。
3. 使用 Gradle 构建
打开 Gradle 工具窗口 (View
-> Tool Windows
-> Gradle
)。
4. 选择构建目标
在 Gradle 工具窗口 中,展开 app -> assemble 节点,你会看到两个构建目标:assembleDev
和 assembleUat
。
5. 构建 APK
选择所需的构建目标(assembleDev
或 assembleUat
)并单击 Run 图标以构建 APK。
6. 找到构建的 APK
构建完成后,可在 android/app/build/outputs/apk
目录中找到构建的 APK。
示例代码
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.embedding.engine.FlutterEngine;
public class MainActivity extends FlutterActivity {
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
常见问题解答
- 如何为其他环境构建 APK?
添加更多构建类型或产品风味。 - 构建配置字段可以存储哪些值?
任何需要的配置值,例如 API 密钥、URL 或版本号。 - 如何使用构建配置字段?
在代码中通过BuildConfig
类访问。 - 为什么我的构建失败?
检查构建日志以了解错误。 - 在哪里可以找到更多信息?
查看 Flutter 和 Android Studio 文档。