tencent cloud

腾讯云超级应用服务

SDK 集成常见问题

Download
聚焦模式
字号
最后更新时间: 2026-01-29 00:08:49

Firebase Flutter 插件一起使用产生崩溃的问题

在 Android 平台上,Firebase Flutter 插件默认不支持多进程处理,因此可能会导致小程序子进程崩溃。若要将Flutter 插件与 Firebase Flutter 插件一起使用,你需要自行在小程序子进程中初始化 Firebase。

添加依赖项

1. 找到您的 Flutter Android 项目根目录。在 Flutter 项目中,搜索 id "com.android.application"
包含此字符串的 build.gradle 文件所在的位置是您的 Flutter Android 项目根目录:



2. 在此 build.gradle 中的 android 闭包中添加依赖项:
dependencies {
compileOnly 'com.tencent.tcmpp.android:mini_core:+'
compileOnly 'com.google.firebase:firebase-common:+'
}

创建 application 类

注意:
如果你的 Flutter 项目已经有自定义的 Android 应用程序类,请跳过此部分。
在 src 目录中,找到 FlutterActivity 所在的位置:

在 FlutterActivity 所在的目录中创建一个新的应用程序类。包与 FlutterActivity 的路径相同:

import android.app.Application;
public class MyApplication extends Application {}
打开并编辑 src > main 下的 AndroidManifest.xml。在 <application> 标签中,更改 android:name 字段以匹配您的应用程序类:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"><application android:name=".MyApplication" ...>...</application></manifest>

在子进程上初始化 Firebase

1. 在您的 Android 应用程序类中重写 onCreate 函数。如果您已经操作此步骤,请跳过。
public void onCreate() {
super.onCreate();
}
2. 在此处添加子进程的 Firebase 初始化代码
import android.app.Application;
import com.google.firebase.FirebaseApp;
import com.tencent.tmf.mini.api.TmfMiniSDK;

public class MyApplication extends Application {

@Override
public void onCreate() {
super.onCreate();

...

if (TmfMiniSDK.isMiniProcess(this)) {
FirebaseApp.initializeApp(this);
}

...
}
}

iOS 端编译产生找不到头文件的报错


使用 Xcode 打开工程,选择正确的 target->Build Settings。搜索框中输入"Allow Non-modular Includes In Framework Modules",然后将其设置为 "Yes":


Apple M 系列芯片电脑模拟器运行异常

当前 SDK 版本对于在 M 系列芯片电脑模拟器上运行需要通过 Rosetta 运行。
Xcode14之前:
我们可以右键 Xcode > 显示简介 > 勾选使用 Rosetta 打开,即可在模拟器上运行:



Xcode14后:
Xcode打开项目 > Product > Destination > Destination Architecturesk 可以选择用哪种模式的模拟器打开。
我们选择 (Rosetta)结尾的模拟器即可:



Android 编译报错问题

引用 Flutter 插件进行 Android 应用编译时出现资源找不到问题,类似报错信息如下:

需在 Android 项目包中的 gradle.properties 文件中添加以下配置。
android.nonFinalResIds=false
android.defaults.buildfeatures.buildconfig = true
android.enableR8.fullMode=false
android.nonTransitiveRClass=false
android.experimental.nonTransitiveAppRClass=true

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈