Android导入flutter模块

本文介绍了如何在Android项目中导入和使用Flutter模块,包括创建Flutter模块、在设置.gradle文件中添加依赖、修改app的build.gradle、处理老项目可能遇到的问题,以及Flutter模块的热重载操作。同时,文章提到了不同Flutter版本之间的变化,如FlutterActivity的使用和HTTP到HTTPS的迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。

1、Flutter模块导入

1.创建Flutter模块

切换到项目的根目录上一层,执行如下命令创建flutter模块

在项目的setting.gradle中添加

或者根据自己的实际目录修改上述目录,这样就绑定了Flutter模块,在项目结构视图中应该就能看到Flutter的结构。

这样,flutter模块就已经引入了,但是自己的项目中还没实际引用Flutter,还不能使用Flutter相关代码,需要在自己的项目中引入flutter

2.引用flutter模块

app下的build.gradle添加implementation project(’:flutter’)(或者compile project(’:flutter’))

在引用的时候注意下native的minSdkVersion,要和flutter模块的统一,否则会报错;

同时,对于老项目,可能会有

Cause: assert appProject != null

| |

null false

需要把项目的module名字改成app

3.修改native代码

Flutter1.12前需要在Application继承FlutterApplication或者onCreate中Flutter1.12之后的版本就不需要了,Flutter已经自动注册了。

2.native项目加载Flutter页面

老版本的Flutter使用

来创建view,

addContentView添加View,

Flutter1.12后没有了这个方法,直接创建一个Activity继承自,Flutter1.12之后FlutterActivity使用,启动这个Activity即可,即可进入Flutter的demo页面。

3.Flutter模块热重载

1.使用debug包;

2.关闭杀死当前应用;

3.终端到Flutter(h_flutter)目录,输入,会显示

等待连接手机

4.打开app,会提示同步文件到设备

To hot reload changes while running, press “r”. To hot restart (and rebuild state), press “R”.

热重载按r,热重启按R

可能遇到的问题:

上面说的新老版本的区分是Flutter1.12,之前为老版本。

1.首先最重要的是看下,正使用的Flutter版本,1.12之后的版本的话要注意有些改动,比方说:Flutter.createView()已经不可用了,而且FlutterActivity已经推荐使用,

官方说明:https://github.com/flutter/fl…

2.Could not HEAD ‘http://repo1.maven.org/maven2…_embedding_debug/1.0.0-a67792536ca236a971d0efbcfd7af4efb8f6c119/flutter_embedding_debug-1.0.0-a67792536ca236a971d0efbcfd7af4efb8f6c119.pom’. Received status code 501 from server: HTTPS Required

maven已经推荐使用https了

Flutter里面已经指定了编译版本,所以自己项目的build.gradle中也要指定。

[FATAL:flutter/shell/platform/android/library_loader.cc(24)] Check failed: result.

而且debug可以运行,release不可以运行,那就是混淆问题

还有其他问题,版本兼容或者其他的,没一一列举,欢迎留言。

https://shimo.im/docs/dYkqrQcyr98jPKYX/ 《android学习面试fulutter进阶资料免费获取》,可复制链接后用石墨文档 App 或小程序打开。

### 如何在Linux上设置Android Studio用于Flutter开发 为了在Linux操作系统上成功配置Android Studio作为Flutter的IDE,开发者需遵循一系列特定的操作指南来确保环境搭建顺利。 #### 安装并配置Android Studio 下载安装包后按照官方指导完成软件部署过程[^1]。启动应用程序之后,在首次运行向导里选择“Customize”,以便于后续自定义组件的选择;这一步骤对于确保所有必要的工具链都被正确加载至关重要。 #### 配置Flutter插件和支持库 进入`File -> Settings`(或者 `Ctrl+Alt+S`) 打开全局首选项窗口,导航至Plugins部分搜索名为 “Flutter”的官方扩展程序进行安装。此操作会自动附带 Dart 插件一起加入到环境中去。重启 IDE 来使更改生效。 #### 初始化Flutter项目结构 创建新的Flutter工程时,通过菜单栏选取 `New Project...` 并指定目标平台为Mobile (Flutter),接着按提示填写应用名称和其他必要参数即可生成基础框架文件夹体系。此时应当注意到项目的根目录下存在一个叫做 `.android` 的隐藏文件夹,它包含了构建原生模块所需的全部元数据信息。 #### 添加第三方依赖库 当涉及到地图功能或其他高级特性实现的时候,则可能需要用到额外的支持类库。例如要集成高德地图服务的话就需要编辑位于项目顶层下的 `pubspec.yaml` 文件,并依照如下方式声明对外部资源的需求: ```yaml dependencies: flutter_amap: ^最新稳定版号 ``` 记得保存修改后的清单文档再回到终端执行命令刷新缓存以同步最新的改动结果[^3]。 #### 处理常见错误提示 如果遇到像App图标显示红色感叹号这样的异常情况,通常是因为某些路径变量未被正确定义或者是SDK版本不匹配等原因造成的。针对这类问题可以尝试清理Gradle缓存、重新导入整个工作区以及更新相关API级别等方式来进行排查修复[^4]。 ### 示例代码片段展示如何验证当前设备是否支持蓝牙低功耗(BLE) 考虑到实际应用场景中可能会用到BLE技术,这里给出一段简单的例子用来检测手机硬件能力: ```dart import 'package:flutter/services.dart'; import 'package:flutter_beacon/flutter_beacon.dart'; Future<void> checkBleSupport() async { try { final bluetoothState = await FlutterBeacon.bluetoothState; switch(bluetoothState){ case BluetoothState.stateOn: print('Bluetooth is enabled'); break; default: throw PlatformException(code:'BLUETOOTH_DISABLED', message:"Please enable your device's Bluetooth"); } } catch(e){ debugPrint("Error checking BLE support ${e.toString()}"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值