当前位置: 首页 > news >正文

Android与flutter混合开发

这里我使用的android studio版本是2020.3.1;flutter版本2.5.3。此前在网上搜索的很多教教程版本都不一样,新版的IDE和SDK让我遇到了很多坑故这里整理一下。

一、创建项目

1.在Android项目中点击File->New->New Flutter Project。File->New->New Flutter Project

  1. 在弹出的面板中选择Flutte,选择Flutter SDK所在的路径,然后Next。

  1. 然后在弹出的面板中输入Project name和Description,Organization,选择location时建议选择建在和android同一目录下。类型选择Flutter Module,点击Finish完成创建。

二、Android项目关联Flutter Module

Flutter官网上讲到此处就已经建立完成了,但是我使用的Android Studio的最新版和官网中的操作步骤的不一样的,并没有完成项目的关联。有无关联可在原生项目的seetings.gradle中查看是否有如下代码,没有就手动添加。我这里的Bingding会报错但是不影响Sync可能是flutter的bug吧。
setBinding(new Binding([gradle: this]))
evaluate(new File(settingsDir,'../fluttermodule/.android/include_flutter.groovy'
))

然后在app的build.gradle中添加

//不管你flutter module名称是啥,都用flutter!!!
implementation project(':flutter')

module创建对了的话,配置文件中会有,如果没有,请删掉重新建一个module

三、Failed to apply plugin class ‘FlutterPlugin’

此时应该就已经完成了项目关联了,可是我试了N多次每次都是会报错,错误提示为:
  • Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository ‘maven’ was added by plugin class ‘FlutterPlugin’

  • aused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin class ‘FlutterPlugin’.
    解决方案为:
    1.把seetings.gradle中的(RepositoriesMode.FAIL_ON_PROJECT_REPOS)改为(RepositoriesMode.PREFER_PROJECT)

dependencyResolutionManagement {repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)repositories {maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }}
}

2.在project的build.gradle中添加

allprojects {repositories {maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }}}

3.重新build,此时就没有报错了。

链接:https://www.jianshu.com/p/f944e72ca0ed

http://www.lryc.cn/news/22701.html

相关文章:

  • Linux和C语言的学习方法你真的知道吗?
  • 代码随想录day42
  • 【笔记】两台1200PLC进行S7 通信(1)
  • 统一网关Gateway
  • 6、kubernetes(k8s)安装
  • python-批量下载某短视频平台音视频标题、评论、点赞数
  • 【数据结构与算法】单链表的增删查改(附源码)
  • 华为OD机试 - 回文字符串
  • C语言太简单?这14道C语言谜题,你能答对几个
  • Benchmark测试——fio——源码分析
  • 测量 R 代码运行时间的 5 种方法
  • Qt 第9课、计算器中缀转后缀算法
  • docker的使用方法
  • Kafka(五)生产者向发送消息的执行流程
  • 华为OD机试模拟题 用 C++ 实现 - 简易压缩算法(2023.Q1)
  • MATLAB R2022b 安装教程
  • PCI子系统
  • Spring源码之IoC容器的Bean创建和依赖注入,DefaultListableBeanFactory容器为例
  • 解决小程序页面scroll-view块自身滑动问题
  • PowerCommand康明斯发电机控制屏维修HMI211
  • ELK + Kafka 测试
  • 迁移系统:换电脑或者硬盘转移磁盘文件的方法!
  • 职场性别报告,男女薪酬仍有差距,男性平均薪酬比女性高29.7%
  • 5-Azidopentanoic acid,79583-98-5,5-Azidopentanoic COOH具有高效稳定,高特异性
  • 滴滴前端高频react面试题汇总
  • 能在软路由docker给部署搭建teamsperk服务器么?并且设置好ddns
  • 应用统计学实验1-蒙特卡罗方法求解定积分
  • 用Pyhon编写一个属于自己的nmap
  • 电信网上用户资管理系统的设计与实现
  • js函数柯里化-面试手写版