android 原生项目 集成 Flutter

第一种方式:
步骤1、把Flutter 转换成arr 文件 地址:https://juejin.im/post/5bac9b1de51d450e452ac1c7
提取arr 要点:1、build.gradle 中的compileSdkVersion minSdkVersion targetSdkVersion 改成跟目标项目的版本号一样
2、AndroidManifest 中的

       
                
                
          

注释掉
3、application 中的label 也得去掉
4、在app 的build.gradle 中添加

compileOptions {
     sourceCompatibility 1.8
     targetCompatibility 1.8
 }

第二种方式:
原文地址:1、https://www.jianshu.com/p/646d18e5d75f
2、https://www.cnblogs.com/fuyaozhishang/p/9617234.html
注意:1、不要直接使用AS生成Flutter 项目 生成项目 会比 用命令生成少文件
2、原生调用Flutter页面

class FlutterActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_flutter)
        val flutterView = Flutter.createView(this@FlutterActivity,lifecycle,"route1")
        val layout = FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, 
        FrameLayout.LayoutParams.MATCH_PARENT)
        addContentView(flutterView, layout)
    }
}

3、Flutter 调用设置

import 'dart:ui';
import 'package:flutter/material.dart';

void main() => runApp(_widgetForRoute(window.defaultRouteName));

Widget _widgetForRoute(String route) {
  switch (route) {
    case 'route1':
      return SomeWidget(...);
    case 'route2':
      return SomeOtherWidget(...);
    default:
      return Center(
        child: Text('Unknown route: $route', textDirection: TextDirection.ltr),
      );
  }
}

你可能感兴趣的:(android 原生项目 集成 Flutter)