Firebase Flutter 插件一起使用产生崩溃的问题
在 Android 平台上,Firebase Flutter 插件默认不支持多进程处理,因此可能会导致 TCMPP 小程序子进程崩溃。若要将 TCMPP Flutter 插件与 Firebase Flutter 插件一起使用,你需要自行在 TCMPP 小程序子进程中初始化 Firebase。
添加 TCMPP 依赖项
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系列芯片电脑模拟器运行异常
当前 TCMPP SDK 版本对于M系列芯片电脑模拟器上运行需要通过 Rosetta 运行。
xcode14之前:
我们可以右键 xcode > 显示简介 > 勾选使用 Rosetta 打开,即可在模拟器上运行:
xcode14后:
xcode打开项目 > Product > Destination > Destination Architecturesk 可以选择用哪种模式的模拟器打开。
我们选择 (Rosetta)结尾的模拟器即可:
本页内容是否解决了您的问题?