官网: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/
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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)