在Flutter插件中的Android项目里面集成第三方的Module/Library/AAR

我现在遇到一个情况,就是在Flutter项目里面编写plugin插件,然后在plugin里面的Android项目里集成一个Module。

如果按照正常逻辑来写的话那肯定就是在插件的android里面的build.gradle文件里面写:

implementation project(':project')

然后就可以在Flutter插件的android项目里使用第三方module的api了,正常这么写是没问题,但当你开始编译Flutter的项目的时候,会遇到下面的错误:

Project with path ‘:module_name’ could not be found in project ‘:plugin_name’.

完了芭比Q了完了。。。。这个东西我真是找遍全网都没找到到底为啥,明明在正常的安卓项目里是没问题的。

后来我灵光一闪想到,之前在解决Flutter插件里的android项目中集成AAR的时候要在Flutter主android(注意不是插件的android哦)目录中配置点东西,那如果要集成Module的时候是不是也要配置点东西呢,于是抱着试一试的心态,我在androlid根目录的settings.gradle里面添加了下面两行代码:
在这里插入图片描述

include ':project'
project(':project').projectDir = file('../plugin-name/android/project')

居然可以了,我都忘了我在哪儿看到这两行代码了反正这次查资料查到我脑袋都昏了。。。

我也不知道这么写对不对反正可以跑起来了,如果有大佬看了之后有更好的写法千万要告诉我一下,谢谢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Flutter 是谷歌开发的跨平台移动应用开发框架,它能够将 Dart 代码编译为本地平台的 ARM 代码,在 iOS 和 Android 平台上运行。Flutter 支持与原生代码混合使用,这使得开发人员可以使用 Flutter 开发 UI,同时使用原生代码处理一些高级功能。 如果你想将 Flutter 作为一个 aar 库嵌入到 Android 项目,可以按照以下步骤: 1. 在 Flutter 项目创建插件 Flutter 插件是一种将 Flutter 功能转换为原生代码的机制。插件包含了一个 Dart API 和一个原生 API,它们之间通过平台通道进行通信。要将 Flutter 项目作为 aar 库嵌入到 Android 项目,你需要将 Flutter 插件创建为一个 aar 库。 你可以通过运行以下命令创建一个 Flutter 插件: ``` flutter create --template=plugin my_flutter_plugin ``` 这将创建一个名为 my_flutter_plugin插件,并在其包含一个 Flutter 模块和一个 Android 模块。 2. 将 Flutter 插件打包为 aar 库 要将 Flutter 插件打包为 aar 库,你需要对 Android 模块进行一些修改。首先,将 Android 模块的 build.gradle 文件的 apply plugin 行更改为: ``` apply plugin: 'com.android.library' ``` 然后,将以下内容添加到 build.gradle 文件的末尾: ``` android { ... sourceSets { main.java.srcDirs += "${flutterRoot}/packages/flutter_module/src/main/java" } } task copyFlutterFramework(type: Copy) { from new File(project(':flutter').projectDir, 'build/app/outputs/flutter-apk/app-release-unsigned.apk') into('libs') { rename { 'app-release-unsigned.apk' } } } preBuild.dependsOn(copyFlutterFramework) ``` 这将允许你将 Flutter 模块的 Dart 代码编译为本地平台的代码,并将其打包到 aar 文件。 最后,在 Android 模块的 build.gradle 文件添加以下依赖项: ``` dependencies { implementation 'com.google.android.material:material:1.0.0' implementation project(':flutter') } ``` 3. 将 aar 库添加到 Android 项目 要将 aar 库添加到 Android 项目,你需要将 aar 文件复制到 Android 项目的 libs 目录,并将以下内容添加到 Android 项目的 build.gradle 文件: ``` repositories { flatDir { dirs 'libs' } } dependencies { implementation(name:'my_flutter_plugin', ext:'aar') } ``` 这将允许 Android 项目在构建时引用 aar 库。 这些步骤将允许你将 Flutter 作为一个 aar 库嵌入到 Android 项目。当你构建 Android 项目时,Flutter 将作为一个原生库被包含在内,可以通过平台通道与 Dart 代码进行通信。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值