flutter Android v1 embedding升级v2
时间: 2023-07-30 10:06:04 浏览: 74
Flutter Android v2 embedding 是 Flutter 在 Android 平台上的第二种嵌入方式,它是在 Flutter 1.12 版本中引入的。相比于 v1 embedding,v2 embedding 提供了更好的性能和更灵活的集成方式。
升级到 v2 embedding 需要进行以下步骤:
1. 更新 Flutter SDK 到 1.12 版本或更高版本。
2. 在 Android 项目中添加以下依赖项:
```
dependencies {
implementation 'com.google.android.material:material:1.2.1'
implementation 'io.flutter:flutter_embedding_v2:1.0.0-rc.2'
}
```
3. 更改 Android 应用程序的启动方式,使用 `FlutterActivity` 代替 `FlutterActivityV1`,例如:
```
public class MainActivity extends FlutterActivity {
// ...
}
```
4. 在 `AndroidManifest.xml` 文件中,将 `FlutterActivity` 的主题更改为 `Theme.AppCompat.Light.NoActionBar`,例如:
```
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
</activity>
```
5. 在 `MainActivity` 中,创建一个 `FlutterEngine` 对象,并将其传递给 `FlutterFragment` 或 `FlutterView`,例如:
```
public class MainActivity extends FlutterActivity {
private FlutterEngine flutterEngine;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
flutterEngine = new FlutterEngine(this);
FlutterFragment flutterFragment = FlutterFragment.withCachedEngine(flutterEngine).build();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, flutterFragment).commit();
}
}
```
这些步骤可以让你从 v1 embedding 升级到 v2 embedding,以获得更好的性能和更灵活的集成方式。