Flutter环境搭建以及创建Flutter类型的module

Flutter环境搭建以及创建Flutter类型的module,第1张

概述官网:https://flutter.dev/docs/get-started/install下载Fluttersdk:https://flutter.dev/docs/developmentools/sdkeleases?tab=linux本次下载的是2.0.4版本:https://storage.googleapis.com/flutter_infraeleases/stable/linux/flutter_linux_2.0.4-stable.tar.xz下

官网:https://Flutter.dev/docs/get-started/install

下载Flutter sdk:https://Flutter.dev/docs/development/tools/sdk/releases?tab=linux
本次下载的是2.0.4版本:https://storage.GoogleAPIs.com/Flutter_infra/releases/stable/linux/Flutter_linux_2.0.4-stable.tar.xz

下载完成后进行解压。

配置环境变量
https://Flutter.dev/docs/get-started/install/linux#update-your-path
https://Flutterchina.club/setup-linux/

执行Flutter doctor检测Flutter是否正常安装。

Flutter doctorRunning "Flutter pub get" in Flutter_tools...                       9.0sDoctor summary (to see all details, run Flutter doctor -v):[✓] Flutter (Channel stable, 2.0.4, on linux, locale zh_CN.UTF-8)[!] AndroID toolchain - develop for AndroID devices (AndroID SDK version 30.0.3)    ✗ AndroID license status unkNown.      Run `Flutter doctor --androID-licenses` to accept the SDK licenses.      See https://Flutter.dev/docs/get-started/install/linux#androID-setup for more details.[✓] Chrome - develop for the web[!] AndroID Studio (not installed)[✓] VS Code (version 1.52.1)[✓] Connected device (2 available)! Doctor found issues in 2 categorIEs.

AndroID license status unkNown. 问题的解决: 执行Flutter doctor --androID-licenses 进行接受相关协议。

Flutter doctor --androID-licensesException in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema        at com.androID.repository.API.SchemaModule$SchemaModuLeversion.<init>(SchemaModule.java:156)        at com.androID.repository.API.SchemaModule.<init>(SchemaModule.java:75)        at com.androID.sdklib.repository.AndroIDSdkHandler.<clinit>(AndroIDSdkHandler.java:81)        at com.androID.sdklib.tool.sdkmanager.sdkmanagerCli.main(sdkmanagerCli.java:73)        at com.androID.sdklib.tool.sdkmanager.sdkmanagerCli.main(sdkmanagerCli.java:48)Caused by: java.lang.classNotFoundException: javax.xml.bind.annotation.XmlSchema        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)        at java.base/java.lang.classLoader.loadClass(ClassLoader.java:522)        ... 5 more
java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema解决方案1.下载相关的jar包

可以选的仓库:
https://search.maven.org/

方案2.把java版本切换为java8

java 9 以及以后的版本把很多jar包砍掉了,查看当前系统使用的java版本,是java11,需要安装jdk1.8,然后切换为jdk1.8即可。
参考:https://blog.csdn.net/qq_31667705/article/details/79627940

步骤:
1.打开终端,输入:

sudo add-apt-repository ppa:openjdk-r/ppa

2.升级系统资源包并安装openjdk1.8:

sudo apt-get update sudo apt-get install openjdk-8-jdk

3.在多个JDK版本中切换JDK,使用 update-alternatives 命令进行切换:
sudo update-alternatives --config java
sudo update-alternatives --config javac

这里是切换为 java8:

sudo update-alternatives --config java有 2 个候选项可用于替换 java (提供 /usr/bin/java)。  选择       路径                                          优先级  状态------------------------------------------------------------  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      自动模式  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      手动模式* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      手动模式要维持当前值[*]请按<回车键>,或者键入选择的编号:1081有 2 个候选项可用于替换 java (提供 /usr/bin/java)。  选择       路径                                          优先级  状态------------------------------------------------------------  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      自动模式  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      手动模式* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      手动模式
sudo update-alternatives --config javac链接组 javac (提供 /usr/bin/javac)中只有一个候选项:/usr/lib/jvm/java-8-openjdk-amd64/bin/javac无需配置。

4.检查JDK版本:

java -versionopenjdk version "1.8.0_282"OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

切换成jdk1.8后再执行 Flutter doctor --androID-licenses 不再报错,然后直接不断按y接收所有协议即可。

AndroID Studio需要安装Dart和Flutter两个插件。

在plugins里搜索Dart和Flutter,进行安装。

重启AndroID Studio ,file -> setting -> Languages & Frameworks Flutter,选择Flutter标签,将右侧的Flutter SDK path设置为本地的Flutter安装目录。

新建一个Flutter module

点击 file -> new -> new module,此时可以选择Flutter module



输入project name,module name后点击finish,发现项目会卡住:


网上找了很多解决方案,
https://blog.csdn.net/Ericpengjun/article/details/90107509
https://www.jianshu.com/p/afe422e12b94

最后是用命令创建module解决的:
~/AndroIDStudioProjects/FlutterDemo$ Flutter create -t module Flutter_module

我们可以看到项目中多了一个名称为Flutter_module的library module,
在项目根目录下的setting.gradle文件中添加配置:include ‘:Flutter_module’,
添加之后的setting.gradle内容:
include ‘:app’
include ‘:Flutter_module’
rootProject.name = “FlutterDemo”

然后在app下的build.gradle文件中添加该module的依赖,在dependencIEs {}闭包中添加:
implementation project(’:Flutter_module’)

这样就成功地将Flutter引入到了AndroID原生项目中。

参考:
Flutter学习小计:Android原生项目引入Flutter
Flutter(Android 混合开发)
在Android Studio中创建Flutter工程
android项目引入flutter moudle依赖步骤
flutter环境配置遇到的坑
flutter java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
Ubuntu14.04下安装最新OpenJdk1.8
安装Flutter环境遇到Android license status unknown问题解决,支持Java9,Java10,Java11
Ubuntu19搭建Flutter开发环境:3、为Android Studio安装Flutter和Dart插件

Flutter开发-使用命令创建Flutter App/Module/Plugin/Package

解决创建Flutter项目卡住/卡死/无响应等问题
Android Studio创建flutter应用,卡在Creating Flutter Project的解决办法
android studio安装和flutter project创建卡住问题解决

Flutter.createView找不到方法?
android 添加flutter module模式 最新 解决找不到io.face.flutter 包问题

总结

以上是内存溢出为你收集整理的Flutter环境搭建以及创建Flutter类型的module全部内容,希望文章能够帮你解决Flutter环境搭建以及创建Flutter类型的module所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1022077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存