Android开发GradleGradle for Android

彻底解决Gradle速度慢,VPS上部署maven私服

2018-04-01  本文已影响71人  GitOPEN

一、前言

“明明我挂了梯子,可gradle build还是卡住不动,过会儿就干脆error了”,小明如是说。Android Studio的gradle下载依赖过慢是广大Android程序员的痛点。于是有很多公司都构建了内网的Nexus Repository Manager OSS私服,来解决痛点,缩短该司程序员等待的闲暇时间,提高压榨的效率。但是,对于各位码神来说,离开公司还是要做独立项目的,于是痛点又回来。将maven部署在自己的VPS,彻底解决gradle各种慢,供自己享用,随时随地无痛码起来,不枉码神的名号。

二、其实过程很简单

  1. 首先,有自己的vps,最好在境外,哦不,是必须在境外(没有篱笆的地方),例如,万恶的米国🇺🇸。我的vps用的是vultr,相信各位都有所耳闻,于是,我恬不知耻地邀请你点击我的连接注册购买,这样,你可以得到10💵的优惠。相信我,如果你能在vultr上开到144开头的ip,速度和稳定性一定不会让你失望

  2. 其次,就是安装过程,听我娓娓道来。如果你是新手,请自行Google一下如何用ssh连接到VPS,然后继续。

  3. 配置jdk环境:

    • 下载jdk
    wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-x64.tar.gz
    
    • 解压jdk
    tar -zxvf jdk-8u162-linux-x64.tar.gz
    
    • 创建/usr/local/java文件夹
    mkdir -p /usr/local/java
    
    • 移动jdk到创建的文件夹
    mv jdk1.8.0_162 /usr/local/java
    
    • 设置环境变量,vim /etc/profile填入以下内容
    JAVA_HOME=/usr/local/java/jdk1.8.0_162
    JRE_HOME=/usr/local/java/jdk1.8.0_162/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH
    
    • 生效环境变量
    source /etc/profile
    

  4. 安装Nexus Repository Manager OSS

    • 下载 Nexus Repository Manager OSS
    wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/oss/nexus-2.14.8-01-bundle.tar.gz
    
    • 解压nexus
    wget nexus-2.14.8-01-bundle.tar.gz
    
    • 创建/usr/local/nexus文件夹
    mkdir -p /usr/local/nexus
    
    • 移动nexus到创建的文件夹
    mv nexus-2.14.8-01 /usr/local/nexus
    
    • 修改配置,先cd /usr/local/nexus/nexus-2.14.8-01,然后vim bin/nexus,在NEXUS_HOME=".."上面一行,加入以下内容
    RUN_AS_USER=root
    
    • 启动nexus
    ./bin/nexus start
    
    • 访问nexus,默认登录账户名admin,默认密码admin123xxx.xxx.xxx.xxx是vps的ip地址
    http://xxx.xxx.xxx.xxx:8081/nexus/
    

  5. 设置Nexus Repository Manager OSS

    • 登录后的界面预览,进入用户管理


      nexus-1.jpg
    • 重新设置admin密码

nexus-2.jpg nexus-3.jpg nexus-4.jpg nexus-5.jpg
nexus-6.jpg nexus-7.jpg
nexus-8.jpg nexus-9.jpg
nexus-10.jpg
  1. 在Android Studio中使用的时候,maven url地址为

    http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/
    
    • 具体使用,在项目根目录下的build.gradle中添加maven url,格式如下
     maven {
                url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/'
                credentials {
                    username 'admin'
                    password 'admin123'
                }
    
    • 整个build.gradle看起来是这个样子
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        repositories {
            maven {
                url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/'
                credentials {
                    // 此处为nexus users中设置的有权限的账户,例如你的admin账户和密码
                    // 修改为自己的账户和密码
                    username 'admin'
                    password 'admin123'
                }
            }
    //       google()
    //       jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.0'
        }
    }
    
    allprojects {
        repositories {
            maven {
                url 'http://xxx.xxx.xxx.xxx:8081/nexus/content/groups/private/'
                credentials {
                    username 'admin'
                    password 'admin123'
                }
            }
    //        google()
    //        jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
    
    • 现在,我们就解决掉痛点了。gradle在构建的时候,我们的nexus私服中没有的依赖,将由私服自动到仓库中去拉取,并保存到私服中,于是,我们的gradle下载依赖再也不会被蔷了,相当于给gradle部署了一个跳板。

三、再次邀请您

在总结了长期使用VPS的经验后,我向您隆重推荐两家VPS服务商,vultr和Digital Ocean。这两家的服务非常友好,用我的连接注册并购买,可以得到💲10的免费使用额度。

使用经验:vultr建议,多开几个,截止本稿发布为止,144段非常稳定流畅;DO家的建议用sfo或者new york,速度和稳定性很好。观看油管可4k,下载油管可跑满带宽,我100MB联通,能下载8MB/s。

优惠链接:

Digital Ocean优惠链接

vultr优惠10美元链接

如果你在购买后,有问题需要我帮忙,私信我,看到即回。

上一篇 下一篇

猜你喜欢

热点阅读