当前位置:   article > 正文

Flutter开发四、项目导入需要注意的点和gradle本地仓库配置_idea运行flutter项目慢

idea运行flutter项目慢

目录

配置检查

android - gradle.properties

android - app - build.gradle文件报错

常用命令:

运行慢的问题

查看android\build.gradle文件,如果是下图所示。

 修改Flutter的配置文件flutter.gradle

修改Flutter的配置文件resolve_dependencies.gradle

配置gradle!

下载

设置环境变量

修改本地仓库位置

命令验证

使用aliyun仓库

idea配置

使用Android手机测试提示耗尽堆空间

Exhausted heap space, trying to allocate 4294967312 bytes.


配置检查

android - gradle.properties

  1. android.enableJetifier=true
  2. android.useAndroidX=true

android - app - build.gradle文件报错

删除项目中的android或ios文件夹

  • flutter create . 以重新生成这些目录
  • flutter create -a java .  默认的是Kotlin语言,该命令即可生成java语言模式()
  • flutter create -a java -i swift --androidx java_flutter(项目名)
  • flutter 创建Andorid版本命令语句:flutter create -i objc -a java new_app(项目名)
  • flutter 创建kotlin版本命令语句:flutter create -i objc -a kotlin new_app(项目名)

注:删除项目中的android或ios文件夹,可以删哪个就生成哪个,项目中android和ios文件夹都要有,

说明:

  • 参数名    参数全称    含义    可选值    是否必选    默认值
  • -t    --template    项目类型    app、package、plugin    否    app
  • --org    --org    唯一标识前缀    -    否    com.example
  • -i    --ios-language    iOS语言    objc、swift    否    objc
  • -a    --android-language    Android语言    java、kotlin    否    java
  • --project-name    --project-name    项目名可省略参数名,直接写值    是    -    

常用命令:

  • flutter devices 查看设备列表
  • flutter doctor 查看当前配置粗略情况
  • flutter upgrade 升级flutter
  • flutter build apk/ios 打包项目,生成可安装文件
  • flutter packages get/upgrade 获取或升级依赖
  • flutter analyze 使用分析器检查代码是否存在问题
  • flutter config 配置信息相关操作
  • flutter clean 清空缓存
  • lutter version 查看flutter版本 加上版本名称 则进行切换

运行慢的问题

发现使用idea运行Flutter项目非常慢,找了一些解决方法。

查看android\build.gradle文件,如果是下图所示。

修改

  

  1. buildscript {
  2. repositories {
  3. maven { url 'https://maven.aliyun.com/repository/google' }
  4. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  5. maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
  6. maven { url 'http://download.flutter.io'}
  7. }
  8. dependencies {
  9. classpath 'com.android.tools.build:gradle:4.2.0'
  10. }
  11. }
  12. allprojects {
  13. repositories {
  14. maven { url 'https://maven.aliyun.com/repository/google' }
  15. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  16. maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
  17. maven {url 'http://download.flutter.io'}
  18. }
  19. }

android\gradle\wrapper\gradle-wrapper.properties文件

对应gradle版本

distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip

 修改Flutter的配置文件flutter.gradle

该文件在Flutter安装目录/packages/flutter_tools/gradle/flutter.gradle,该文章也提到过: 跨平台Flutter框架开发应用一、idea开发flutter环境搭建

  1. maven { url 'https://maven.aliyun.com/repository/google' }
  2. maven { url 'https://maven.aliyun.com/repository/jcenter' }
  3. maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }

修改

private static final String MAVEN_REPO      = "https://storage.flutter-io.cn/download.flutter.io";

其他参考

  1. private static final String MAVEN_REPO = "https://mirrors.tuna.tsinghua.edu.cn/flutter/download.flutter.io";
  2. private static final String MAVEN_REPO = "http://download.flutter.io";

修改Flutter的配置文件resolve_dependencies.gradle

修改文件Flutter安装目录/packages/flutter_tools/gradle/resolve_dependencies.gradle

第20行的maven为:

url "http://download.flutter.io"

配置gradle!

忽然想起gradle这么慢会不会需要像配置maven镜像那样配置一下

下载

设置环境变量

  • GRADLE_HOME=E:\xxx\xxx\gradle-5.6.4
  • PATH 添加 %GRADLE_HOME%\bin

修改本地仓库位置

#如要修改本地仓库位置,需添加

  • GRADLE_USER_HOME=D:\xxx\xxx\.gradle

gradle的默认仓库位置是在C盘,不像maven通过修改配置文件settings.xml改变位置,但可以通过GRADLE_USER_HOME这个环境变量修改

也可以将默认目录复制到你期望仓库的盘符路径,修改GRADLE_USER_HOME和GRADLE_HOME的环境变量,电脑重启生效默认地址:

命令验证

gradle -v

使用aliyun仓库

全局配置
在 GRADLE_USER_HOME/.gradle/下面创建新 init.gradle文件,输入下面的内容并保存。
init.gradle文件其实是Gradle的初始化脚本(Initialization Scripts),也是运行时的全局配置,每次初始化时,自动去替换工程中的maven仓库位置,指向阿里云。更详细的介绍请参阅官方文档Initialization Scripts

  1. allprojects {
  2. repositories {
  3. def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
  4. all { ArtifactRepository repo ->
  5. if (repo instanceof MavenArtifactRepository && repo.url != null) {
  6. def url = repo.url.toString()
  7. if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
  8. project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
  9. remove repo
  10. }
  11. }
  12. }
  13. maven {
  14. url REPOSITORY_URL
  15. }
  16. }
  17. }

配置2

  1. allprojects{
  2. repositories {
  3. def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
  4. def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
  5. all { ArtifactRepository repo ->
  6. if(repo instanceof MavenArtifactRepository){
  7. def url = repo.url.toString()
  8. if (url.startsWith('https://repo1.maven.org/maven2')) {
  9. project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
  10. remove repo
  11. }
  12. if (url.startsWith('https://jcenter.bintray.com/')) {
  13. project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
  14. remove repo
  15. }
  16. }
  17. }
  18. maven {
  19. url ALIYUN_REPOSITORY_URL
  20. url ALIYUN_JCENTER_URL
  21. }
  22. }
  23. }

idea配置

打开file->setting->Build,Execution,Deployment->Gradle,修改Gradle home路径

idea右边gradle窗口

点击idea右上方工具栏View-Tool Windows-Gradle

如果没有Gradle选项

   

使用Android手机测试提示耗尽堆空间

Exhausted heap space, trying to allocate 4294967312 bytes.

byte = 8 bits1KiB 字节关系 1M = 1024k=1024*1024B 

在 gradle.properties 文件中添加

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m

 

DEA中使用Gradle打包出现Expiring Daemon because JVM heap space is exhausted,也就是堆空间耗尽,打包一直失败或出现堆空间好尽,而且cpu占用很高。

找到idea的安装目录,找到下图中的文件打开

修改文件中的堆最大和最小值以及代码缓存大小

  1. -Xms1024m
  2. -Xmx2048m
  3. -XX:ReservedCodeCacheSize=1024m


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/237484
推荐阅读
相关标签
  

闽ICP备14008679号