当前位置:   article > 正文

安卓studio代理-build过慢以及gradle下载失败解决方案_安卓make project不自动下载

安卓make project不自动下载

因为众所周知的原因,由于墙的存在,安卓开发者在使用安卓studio开发时,总是遇到下载库或者升级卡着不动的情况。如果有个代理镜像服务器,可以帮我们从国外下载,然后再映射到国内服务器该多好。感谢阿里,提供了镜像服务器。

如果你之前设置过 Android Studio 的 HTTP Proxy,然后又取消了代理设置,那么很有可能 Andoid Studio gradle 再次编译时仍然会走代理设置,造成依赖资源一直下载失败。
分为两种:

  • 单独工程配置镜像
  • 整体工程配置

1.删除 Android Studio 的代理设置

首先你需要确认你已经在 Settings -> Appearance&Behavior -> System Settings -> HTTP Proxy 中选中了 No Proxy。

然后找到项目根目录下的 gradle.properties 文件,打开查看该文件中是否有关于 proxy 设置(代理的地址和端口)的相关语句,删除这些内容,让该文件看起来大致是这个样子(如果你没有添加其他设置的话):

最后,你需要找到你的另一个 gradle.properties 文件:C:\Users\Administrator.gradle\gradle.properties:

打开该文件,和上面的操作一样,删除与 proxy 设置相关的语句,让该文件的内容看起来大致是这样(如果你没有添加其他设置的话)

2.让项目通过阿里云 maven jcenter 下载依赖资源

(若此方案不可用请用方案一)

打开项目根目录下的 build.gradle(Project:项目名称一级的gradle),如下所示添加阿里 maven 库地址:

  1. buildscript {
  2. repositories {
  3. // 添加阿里云 maven 地址
  4. maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
  5. maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
  6. google()
  7. jcenter()
  8. }
  9. dependencies {
  10. classpath 'com.android.tools.build:gradle:3.4.1'
  11. }
  12. }
  13. allprojects {
  14. repositories {
  15. // 添加阿里云 maven 地址
  16. maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
  17. maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
  18. google()
  19. jcenter()
  20. maven { url 'https://jitpack.io' }
  21. }
  22. }
  23. task clean(type: Delete) {
  24. delete rootProject.buildDir
  25. }

重新 Make Project 项目,编译时的资源下载一般就会如丝般顺滑了。

 

全局配置

在C:\Users\Administrator.gradle中新建init.gradle,并输入如下内容:

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
        }
    }
}
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/800226?site
推荐阅读
相关标签
  

闽ICP备14008679号