Flutter Gradle仓库管理插件gradle_repo_manager的使用

Flutter Gradle仓库管理插件gradle_repo_manager的使用

简介

Gradle Repository Manager 是一个简单的命令行工具,用于向工作目录下的所有 Gradle 文件添加仓库。此命令行工具旨在解决由于默认 Gradle 仓库对用户所在国家实施制裁而导致的 Android 构建失败问题。该 CLI 将执行以下操作:

  1. 扫描所有子目录以查找 .gradle 文件。
  2. 在文件中查找仓库条目(某些文件可能不包含)。
  3. 在仓库列表的开头添加自定义仓库。

安装

要安装 Gradle Repository Manager,请运行以下命令:

dart pub global activate gradle_repo_manager

安装完成后,您可以在任何位置通过命令行界面(CLI)使用它。

要查看帮助信息,请运行以下命令:

repo --help

使用方法

自版本 2.4.0 及更高版本

  • <repo-address>(别名 -r)选项已修改为支持多个仓库地址。
  • 使用 阿里云 仓库代替了 IranRepo

自版本 2.0.0 及更高版本

使用以下命令查看 CLI 的帮助信息:

repo \
-d /<path/to/flutter-sdk>/.pub-cache (默认值为当前工作目录) \
-r <repo url (默认值为 https://gradle.iranrepo.ir)> \
-v \

对于版本 1.0.0

默认情况下会添加以下内容:

maven { url 'https://gradle.iranrepo.ir' }

如果您想使用其他仓库,请运行以下命令:

repo <repo line i.e.: maven {url 'https://gradle.iranrepo.ir'} >

无需在周围添加任何内容。


构建

在 Linux 上

执行以下命令将构建并移动可执行文件到 /usr/bin/repo,从而允许用户从任何位置通过 repo 命令行界面访问它:

sudo ./build.sh

在 Windows 上

可以使用以下命令构建并复制可执行文件到 C:/windows/repo.exe。虽然尚未经过测试,但应该可以正常工作。要为 Flutter 包使用此功能,请导航到 flutter sdk 目录/.pub-cache/ 并在那里运行命令:

./build.bat

待办事项

进行中

  • ❌ 实现观察模式 (--watch)
  • ❌ 重构
  • ❌ 实现配置文件,用于存储仓库、模式和目录,以便更轻松地管理和自定义。

已完成

  • ✅ 迁移到 pub 缓存目录更改。
  • ✅ 移除仓库条目。
  • ✅ 修改 Maven 仓库的默认模式。
  • ✅ 添加更新命令,启用自更新功能。

忽略

  • ✅ 将仓库更改为另一个仓库(可以通过省略实现)。

示例代码

以下是一个完整的示例,展示如何在项目中使用 gradle_repo_manager 插件:

1. 安装插件

确保已经全局安装了 gradle_repo_manager

dart pub global activate gradle_repo_manager

2. 添加仓库

运行以下命令向所有 .gradle 文件添加自定义仓库:

repo -r "https://maven.aliyun.com/repository/google" -v

3. 验证结果

在项目目录下找到任意一个 .gradle 文件,确认是否成功添加了自定义仓库。

例如,在 build.gradle 文件中可以看到类似以下内容:

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        google()
        mavenCentral()
    }
}

更多关于Flutter Gradle仓库管理插件gradle_repo_manager的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Gradle仓库管理插件gradle_repo_manager的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


gradle_repo_manager 是一个用于管理 Gradle 仓库的 Flutter 插件。它的主要作用是帮助开发者在 Flutter 项目中更轻松地管理和配置 Gradle 仓库,特别是在需要添加自定义 Maven 仓库或管理依赖版本时。

安装 gradle_repo_manager

首先,你需要在 pubspec.yaml 文件中添加 gradle_repo_manager 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  gradle_repo_manager: ^0.1.0  # 请使用最新版本

然后运行 flutter pub get 来安装插件。

使用 gradle_repo_manager

gradle_repo_manager 插件提供了一种简单的方式来管理 Gradle 仓库。你可以在 pubspec.yaml 文件中配置仓库和依赖项。

1. 配置仓库

pubspec.yaml 文件中,你可以添加自定义的 Maven 仓库:

gradle_repo_manager:
  repositories:
    - url: "https://maven.example.com/repo"
    - url: "https://repo.example.com/artifactory/libs-release"

这些仓库将会被添加到 android/build.gradle 文件中。

2. 配置依赖项

你还可以在 pubspec.yaml 文件中配置 Gradle 依赖项:

gradle_repo_manager:
  dependencies:
    - group: "com.example"
      name: "example-library"
      version: "1.0.0"

这些依赖项将会被添加到 android/app/build.gradle 文件中。

3. 应用配置

android/build.gradle 文件中,你需要应用 gradle_repo_manager 插件:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
        classpath "com.example.gradle_repo_manager:gradle_repo_manager:0.1.0"  // 请使用最新版本
    }
}

apply plugin: 'com.example.gradle_repo_manager'

4. 生成 Gradle 配置文件

在终端中运行以下命令来生成 Gradle 配置文件:

flutter pub run gradle_repo_manager:generate

这个命令会根据 pubspec.yaml 文件中的配置,自动生成或更新 android/build.gradleandroid/app/build.gradle 文件。

示例

以下是一个完整的 pubspec.yaml 文件示例:

name: example_app
description: A new Flutter project.

publish_to: 'none' # Remove this line if you want to publish to pub.dev

version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  gradle_repo_manager: ^0.1.0

gradle_repo_manager:
  repositories:
    - url: "https://maven.example.com/repo"
  dependencies:
    - group: "com.example"
      name: "example-library"
      version: "1.0.0"

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true
回到顶部