1.关于状态栏颜色

查看FlutterActivity 的onCreate方法得知FlutterActivityDelegate中

    public void onCreate(Bundle savedInstanceState) {if(VERSION.SDK_INT >= 21) {Window window = this.activity.getWindow();window.addFlags(-2147483648);window.setStatusBarColor(1073741824);window.getDecorView().setSystemUiVisibility(1280);}

所以要自己重置statusBarColor 与 原生保持一致。

    @Overrideprotected void onCreate(Bundle savedInstanceState) {FlutterMain.startInitialization(getApplicationContext());super.onCreate(savedInstanceState);GeneratedPluginRegistrant.registerWith(this);//必须要重写   FlutterActivityDelegate 会在 onCreate 时 自动设置 statusBarColor,这里我们再手动重置回来。if(Build.VERSION.SDK_INT >= 21) {Window window = this.getWindow();window.setStatusBarColor(-16777216);window.getDecorView().setSystemUiVisibility(0);}registerMethodChannel();// 获取类名className = getClass().getSimpleName();LogUtils.e(className + ".onCreate()");}

2.关于原生Activity打开FlutterActivity 的进入动画效果。

当生成产物时如果build.gradle中 compileSdkVersion与targetSdkVersion 过高则自带动画效果由左向右进入。

android {compileSdkVersion 28lintOptions {disable 'InvalidPackage'}defaultConfig {// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).applicationId "com.womai_flutter"minSdkVersion 16targetSdkVersion 28versionCode flutterVersionCode.toInteger()versionName flutterVersionNametestInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {// TODO: Add your own signing config for the release build.// Signing with the debug keys for now, so `flutter run --release` works.signingConfig signingConfigs.debug}}
}

如果不想要动画效果,只需要降低compileSdkVersion与targetSdkVersion。

android {compileSdkVersion 26lintOptions {disable 'InvalidPackage'}defaultConfig {// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
//        applicationId "com.womai_flutter"minSdkVersion 16targetSdkVersion 25versionCode flutterVersionCode.toInteger()versionName flutterVersionNametestInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {// TODO: Add your own signing config for the release build.// Signing with the debug keys for now, so `flutter run --release` works.signingConfig signingConfigs.debug}}
}

3 将产物aar 加入到原生项目后,运行项目crash

代码混淆的问题。要注意FLutter代码的混淆问题。如果混淆后可能部分机型安装后,启动应用卡死。

#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

4.在接入原生后,可以在阿里云 小米 华为等云测平台进行兼容性测试。

https://mqc.aliyun.com
https://deveco.huawei.com
https://dev.mi.com/testit

5.FAQ About Flutter

https://flutter.dev/docs/resources/faq

欢迎爱学习的小伙伴加群一起进步:230274309

记第一次生产项目中Flutter接入原生项目遇到的问题相关推荐

  1. uniapp android原生,在uni-app项目中集成Android原生工程

    [TOC] # 在uni-app项目中集成Android原生工程 按照官方的方案,我们如果进行本地打包的话,需要重新创建一个Android原生工程,于是就会导致我们管理多个项目,切来切去的也麻烦. 经 ...

  2. vue2项目中如何接入视频监控

    前言 想必各位作为开发者的程序员,有时候公司会给你安排在项目中实现视频实时监控 视频实时监控功能,在很多领域都广泛应用,能帮我们在各行各业都解决很多事情,像智慧工地中AI识别(安全帽.在离岗等).国标 ...

  3. eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法

    eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法  当使用eclipse导入外部的web工程时,有时会提示HttpServletRequest, Ser ...

  4. git项目中的子git项目_使用子模块和子树管理Git项目

    git项目中的子git项目 如果您从事开源开发,则可能与Git一起管理源代码. 您可能遇到过具有大量依赖项和/或子项目的项目. 您如何管理它们? 对于开源组织,为社区和产品实现单源文档和依赖性管理可能 ...

  5. android内嵌套cocos2dx,Cocos2dx项目嵌入到Android原生项目中

    最近开始有一些需求.非常像游戏.互动特别的强.现在的版本有人用native来实现的. 可是需求越来越多.用native真的是心累.而且体验生硬.故打算在app里嵌入Cocos2dx 首先需要安装And ...

  6. springboot项目中的注解 启动项目的方式 解决spring的bean.xml配置不生效 spring的基础JDBC配置

    依赖 创建一个 Spring Boot 工程时,可以继承自一个 spring-boot-starter-parent ,也可以不继承 先来看 parent 的基本功能有哪些? 定义了 Java 编译版 ...

  7. java设计模式在项目中的使用_SpringMVC项目里,有必要使用一些设计模式吗?

    背景 为了兼容多种业务,想在项目中使用一些设计模式,以便于管理. 例如,我需要创建用户并返回userid,每种业务创建的方式都不一样. 我选取了"适配器模式",但是我发现,在spr ...

  8. android 热门开源库,GitHub安卓热门开源资源在项目中的使用及项目总结

    前面一篇文章 <android studio的入门使用> 已经讲了如何导入一个开源的项目.本文则来讲如何使用这些开源的资源,以及在一个小app的开发中遇到的问题.因为不可能面面俱到,所以争 ...

  9. git在项目中常用命令和项目流程中涉及到步骤分析

    GIT git的组成:分布式,版本控制,软件 svn是集中式版本控制,而git是分布式版本控制 问价拷贝 本地版本控制 集中式版本控制 分布式版本控制 第一阶段:生成版本,扩展功能,版本回滚 命令: ...

最新文章

  1. React 组件生命周期
  2. 【廖雪峰Python学习笔记】面向对象编程OOP
  3. 一行代码都不用写,教你如何快速搭建Github博客!!!
  4. [转]Asp.NET生成静态页面并分页
  5. 5.intent_activity
  6. js温故而知新11(AJAX)——学习廖雪峰的js教程
  7. 专业软件 —— 硬件评测
  8. 一个奇怪的注意事项TNS-12545 TNS-12560 TNS-00515
  9. cos,sina,tan,cot
  10. leetcodepython_LeetCode 答案(python)1-17
  11. python数据归一化代码_Python 数据归一化/标准化
  12. principle文本导入oracle,动效设计Principle:初识界面
  13. Centos 7/linux 安装gcc 教程
  14. 图解通信原理与案例分析-10:楼宇有线对讲电话机案例--模拟基带点对点通信详解
  15. 教育培训教师说课通用PPT模板
  16. 3d胆码计算机方法,3D---定胆方法大全(转)
  17. [贪心] UVa1153 顾客是上帝 (很巧妙的贪心)
  18. 解决Web部署 svg/woff/woff2字体 404错误(转)
  19. 马斯克:让我成功的其实是工程思维
  20. python计算增长率函数_python – 基于增长率优化值的迭代计算

热门文章

  1. python autojs_自动化篇 | 手把手教你使用 AutoJS 自动领京豆
  2. 企业信息化由谁主导会更好?
  3. 平方面积怎么测量?教你快速学会这个方法
  4. 利用百度AI平台+pyqt5实现自动识别银行卡小工具
  5. 素描学习入门零基础学习静物素描的几种方法
  6. 当前流行搜索引擎爬虫IP列表
  7. 从FFmpeg耻辱榜看开源软件的“潜规则”
  8. PHP面试题汇总参考
  9. 暑假期间,怎么保护好孩子的视力?盘点适合孩子用的护眼台灯
  10. 关于branch XYZ is published (but not merged) and is now N commits behind错误的解决方法