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

目录

配置检查

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

android.enableJetifier=true
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文件,如果是下图所示。

修改

  

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
        maven { url 'http://download.flutter.io'}
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
        maven {url 'http://download.flutter.io'}
    }
}

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环境搭建

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

修改

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

其他参考

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

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

allprojects {
    repositories {
        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository && repo.url != null) {
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

配置2

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
            }
        }
        maven {
                url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

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的安装目录,找到下图中的文件打开

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

-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Flutter Gradle 仓库配置用于指定 Gradle 构建工具在构建 Flutter 项目时从哪个仓库下载所需的依赖库。以下是 Flutter Gradle 仓库配置的一些重要内容。 首先,在 Flutter 项目的 `android/build.gradle` 文件中,我们可以找到 Gradle 仓库配置项 `repositories`。在这个配置项中,可以指定从哪些仓库下载依赖。 一般情况下,你会看到如下的配置项: ```gradle allprojects { repositories { google() jcenter() } } ``` 这个配置项中有两个默认的仓库,即 Google Maven 仓库和 JCenter 仓库。这两个仓库包含了很多常用的依赖库。当 Gradle 需要下载依赖时,会优先从这两个仓库中查找并下载。 除了默认的仓库,我们也可以添加其他自定义的仓库。例如,如果项目中使用了一些第三方的依赖库,而这些依赖库并不在默认的仓库中,我们可以在 `repositories` 配置项中添加额外的仓库地址。例如: ```gradle allprojects { repositories { google() jcenter() maven { url 'https://maven.example.com/repo/' } } } ``` 上面的例子中添加了一个自定义的 Maven 仓库地址。 每个仓库地址对应一个远程仓库Gradle 构建工具会通过该地址从远程仓库下载所需的依赖库。在下载依赖时,Gradle 会检查本地的缓存,如果本地已经有了相同的依赖库,则不会再次下载。 通过正确配置 Gradle 仓库,我们可以确保在构建 Flutter 项目时能够正确地下载并使用所需的依赖库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑶山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值