IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【Android Studio Gradle】使用Artifactory构建本地仓库 -> 正文阅读

[移动开发]【Android Studio Gradle】使用Artifactory构建本地仓库

1. 说明

在运行gradlew assemble的时候,出现了gradle的官网:Gradle User Manual
下面就简单来学习一下。简介:

  • Gradle是一个开源自动构建工具,关注于灵活性和性能,通常使用Groovy或者Kotlin编写;
  • 特点有:高定制性,更快,更有效。

Gradle支持很多IDE,包括:Android Studio, Eclipse, IntelliJ IDEA, Visual Studio 2019, and XCode。甚至可以直接使用命令行模式来执行。因为这里所需要的是Android Studio中的相关运用,所以这里可以参考文档:Building Android Apps Sample

1.1 本地安装Gradle

为了方便之后的使用,这里本地在环境变量中配置一个Gradle,版本为7.2
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kY0w47rI-1648647006749)(images/screenshot_1648605875060.png)]

下载地址:Gradle | Releases
解压到任意目录:
在这里插入图片描述

然后配置环境变量即可,添加目录:D:\softwares\Android\gradle-7.2-bin\gradle-7.2\bin到用户Path即可。

1.2 构建本地仓库

在应用的build.gradle文件中默认配置为:

allprojects {
    repositories {
        google()
        jcenter()
    }
}

而,googlejcenter均位于国外,且jcenter仓库自去年起就不再提供服务了。在我的博客:# 上传Android library到JitPack一文中也提到了我们可以将自己的工具发布到第三方库,然后方便自己的使用。但总体来说比较麻烦,而且有些库因为还没有开发稳定,也不想发布到公开平台。所以处于如下原因我们可能需要自己构建一个仓库:

  • 速度!因为google位于国外,即使使用了阿里的镜像,但是还是每次需要下载,就略慢;
  • 方便!方便本地自己引入一个自己所需要的库,而不需要增大项目的额外成本;

1.2.1 常见镜像地址

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://repo.huaweicloud.com/repository/maven' }
        maven { url 'https://jitpack.io' }
        mavenCentral()
        google()
        jcenter()
    }
}

1.2.2 使用Artifactory构建本地仓库

构建本地仓库可选:nexus或者Artifactory。这里使用Artifactory来完成。下载地址:Downloads
解压下载好的安装包,打开解压后文件夹下的bin文件夹,运行artifactory.bat,然后等待安装完成。
在这里插入图片描述
访问地址:http://localhost:8082/ui/login/
登录:
在这里插入图片描述

然后,就可以设置一下远程仓库地址,这里我使用阿里云提供的镜像地址:仓库服务 (aliyun.com)。常见对应关系:

仓库名称阿里云仓库地址阿里云仓库地址(老版)源地址
centrahttps://maven.aliyun.com/repository/centrahttps://maven.aliyun.com/nexus/content/repositories/centrahttps://repo1.maven.org/maven2/
jcenterhttps://maven.aliyun.com/repository/publichttps://maven.aliyun.com/nexus/content/repositories/jcenterhttp://jcenter.bintray.com/
publichttps://maven.aliyun.com/repository/publichttps://maven.aliyun.com/nexus/content/groups/publiccentral仓和jcenter仓的聚合仓
googlehttps://maven.aliyun.com/repository/googlehttps://maven.aliyun.com/nexus/content/repositories/googlehttps://maven.google.com/

然后在后天添加远程仓库:
在这里插入图片描述

也就是添加上面的四个即可,当然在选择的时候选择Maven。然后就可以创建一个本地仓库,供我们项目中直接使用。还是在Repositories选项卡,选择local,创建一个android_local的仓库:

在这里插入图片描述
提交后,就可以看见刚刚创建的android_local仓库:
在这里插入图片描述
然后创建一个虚拟仓库,还是选择Maven,然后指定名字为android_group,并将所有可用的仓库移动到selected repositories中,如下图:
在这里插入图片描述
然后我们就可以在我们的应用中只使用这个虚拟仓库,在控制台可以找到其映射地址:

在这里插入图片描述
也就是:

http://localhost:8082/artifactory/android_group/

但是很不幸,通过浏览器访问发现需要用户名和密码:
在这里插入图片描述
当然,我们通过浏览器可以输入前面的用户名和密码来访问,但是一般在作为仓库使用的时候,我们都需要配置匿名才行。故而这里还需要继续进行配置。也就是允许匿名访问:
在这里插入图片描述
正如上图所示,默认是不支持的,这里需要勾选,然后保存即可。

然后在gradle-wrapper.properties文件中配置gradle文件,因为在前面已经下载过gradle-7.2,所以这里本地仓库中直接使用这个,在控制台进行上传:
在这里插入图片描述
选择带上传图标的Deploy进行上传。当然,首先设置一下上传文件大小,因为在General->settings中:
在这里插入图片描述
所默认的上传大小为100MB这里修改为1024MB,即:
在这里插入图片描述
然后再次回到android_local仓库,进行上传文件:

在这里插入图片描述
点击刚上传的这个文件,就可以看到文件的URL地址:
在这里插入图片描述
也就是:

http://localhost:8082/artifactory/android_local/gradle-7.2-bin.zip

所以,我们在gradle-wrapper.properties文件中配置的为:

distributionUrl=http\://localhost:8082/artifactory/android_local/gradle-7.2-bin.zip

对应的:
在这里插入图片描述
注意到上图中http有黄色警告,也就是最好使用https的链接,这里我们忽略。对应的配置repositories地址,如下。找到项目的build.gradle文件,原配置文件为:

buildscript {
    ext.kotlin_version = "1.4.32"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

修改后:

buildscript {
    ext.kotlin_version = "1.4.32"
    repositories {
        maven {
            url 'http://localhost:8082/artifactory/android_group/'
        }
//        google()
//        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30"
    }
}

allprojects {
    repositories {
        maven {
            url 'http://localhost:8082/artifactory/android_group/'
        }
    }
}

但是很不幸这里构建失败。也就是其实不支持Http协议的,这里可以配置一个允许命令即:

maven {
    allowInsecureProtocol true
    url 'http://localhost:8082/artifactory/android_group/'
}

然后进行前后两次同步,可以看见构建时间从第一次的2m多到几秒钟。使用本地仓库,明显提升了构建速度。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:32:51  更:2022-04-01 23:34:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 19:26:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码