Android Studio3.4.1更新及槽点

MrLee1月前 203

做过苹果开发的攻城狮都清楚,下载一个XCODE就可以随便开发程序了,那个效率真的是一个高。反观Android从最早的eclipse到现在的android3.4.2,这么多年了国内开发还是很不人性(主要是下载库和工具超级慢),开发速度也还是相当快的。今天就来说说这些吐槽点。

槽点一:Android早期采用的gradle方式居然是一个项目一个gradle目录缓存,也就是说,你创建10个项目,那么是在你当前用户.gradle目录下有10个特别长的目录名,然后下面依次有10个目录,每个目录都是各自的gradle版本文件及解压目录,不说非常占用系统盘空间复用性超级低,每个项目都去下载(这很垃圾),到了3.X版本貌似都统一了,相同的gradle版本工程都会在一个gradle版本目录下,共用一个gradle缓存。

槽点二:不同的工具需要不同的工具集。每次换新系统搞个环境搞半天,下载SDK,NDK(还好android studio从2.0版本开始就自带了jre,不然JDK都要自己下载),然后这些都还不是重点,毕竟可以选择国内网站下载,速度还是能接受。万恶的是gradle是用的国内的资源(maven),一个简单的hellow world工具要configure build半小时,可能还无限转圈了……

今天就总结以上的重要槽点及解决方法。

1.对于gradle下载特别慢的话,可以采取在国内的大型开发网站上下载,比如CSDN啥的,有条件的话可以使用一些V-P-N之类的软件,那样下载也是巨快的(然后这种方法需要技术或金钱的成本)。

2.SDK,NDK同样国内也有镜像,默认下载也比较快,主要是maven仓。linux我记得在用户目录下有个.m2目录,然后可以配置全局的maven,但是windows貌似没有这个目录,据网上资料,在.gradle目录下创建一个名为init.gradle文件,然后加上以下代码。后记:实测也有效!!!

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
        def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/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
        }
    }
}

我目前采用的是直接在工程的build.gradle修改,实测有效

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
		maven{ url 'https://maven.aliyun.com/repository/google'}
		maven{ url 'https://maven.aliyun.com/repository/jcenter'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
		maven{ url 'https://maven.aliyun.com/repository/google'}
		maven{ url 'https://maven.aliyun.com/repository/jcenter'}
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

就是每次新工具都要改,有点麻烦。最后build之后,工具还仅仅是配置完了,还未真正编译,需要点击Sync Project with Gradle Files按钮(这个大象)

然后就可以直接运行了!!!

本文链接:https://www.it72.com/12556.htm

推荐阅读
最新回复 (0)
    返回