本机环境:win10专业版,64位,16G内存。

  原先用的AS2.2,是很早之前在看《第一行代码Android(第2版)》的时候,按书里的链接下载安装的,也不用怎么配置。(PS:第一行代码这本书对新手确实很适合,第1版是eclise,第2版是Android studio)

  最近想给AS升级一下,果不其然碰到很多问题。

  最开始肯定是去下载Android Studio,参考下方给出的链接。

  Android开发自然是要Java环境,这个没啥难度,直接下载安装就好,如果在官网上下,就需要注册一下oracle账号。我之前已经安装过jdk1.8,所以略过了,没想到后面也是个坑。

  当前的AS最新版是Android Studio Hedgehog,我一开始下载的也是这个,但一直没配置好,就换成了Android Studio Giraffe这个版本,其实应该跟AS的版本没啥关系,后面再试试换成最新版的。

  安装这个没啥好说的,参考下面的安装教程就行。因为搞Hedgehog版本的时候死活不行,一度怀疑是否是之前AS2.2版本的残余影响了,所以我是把C盘里面涉及到的文件夹都先删了个干干净净,当然,这一步估计也不是关键。文件夹最好不要选在系统盘,自己在其他盘新建一个来放就好了,名字不要带中文,SDK的文件夹不要带空格。出现弹窗"Unable to access Android SDK add-on list",先点击cancel跳过就好。一路点下去,然后就是等待下载完成。

  安装完成后,新建个项目试试水,点击new project,随便选个带窗体的模板就行。设置项目名称,包名,路径,不要带中文,语言选java,选择最低支持的Android 版本。点击finish后,又开始了下载。这里就是下载gradle以及Android项目需要引用的包。

  尝试编译,果然开始报错了,我们的目标就是让编译那个绿色三角形亮起来。

  这时候,微信另一端的老铁给我发来了私藏多年的链接,就是下面那篇《Andriod Studio配置问题:run是灰色的,编译报错 Could not resolve com.android.tools.build:gradle:3.5.2.》,确实是最接近正确答案的一篇了。

  先尝试一下点击 File -> sync ProJect with Gradel File,确实编译出错。

  先把proxy关了,点击File-Settings-System Settings-HTTP Proxy,默认应该是关的(选No proxy),确认一下就好,如图:

  找到Project的build.gradel,这里要注意,有两个build.gradel,你可以把左上角切换成Android,然后在Gradle Scripts里面,找到那个后面括号带项目名的文件,如图:

  然后修改里面的内容,参考资料里面给出的文件内容有那么一点小问题,比如少了最后一个花括号},比如有些链接没有改成https,问题不大,改一下就好(最终内容见文末,这一步我是直接用的参考资料的内容)。

  如果链接没有改成https,就会报错Could not GET 'XXX'. Received status code 403 from server: Forbidden,应该是安全机制问题。

  一开始AS里面默认用的是8.0版本的gradle,怎么编译都不行,想了想,会不会是插件版本跟gradle版本对不上,于是默默的查了下《Gradle版本、Gradle插件版本和AndroidStudio版本之间的对应关系》,随便找了一对看起来可以用的版本。

  这次又换了个报错,再查了下《Android Studio 失败:构建失败并出现异常。允许的子类需要 ASM9》,把插件版本换成7.3.0,gradle版本换成7.4,再次编译。

  这里说的插件版本跟gradle版本,一个是对应build.gradel文件里面那一行classpath "com.android.tools.build:gradle:'7.3.0',一个是对应gradle-wrapper.properties文件里面distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip,也可以在左上角File-Project Structure里面看到,我这里试着在Project Structure改了下配置,然后它给我自动把插件版本放到了参数里面去了:

  报错“Build was configured to prefer settings repositories over project repositories but repository...”,继续找资料,在Gradle Scripts里面找到settings.gradle,注释掉dependencyResolutionManagement的内容,再次编译。

  这时候看起来就很像是要成功的样子了,虽然还是报错“Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8”,这里一看就知道是java版本不对,插件要java11,那就下载一个,然后配置好环境变量,再次编译。

  这里仅仅更新外部的java环境是不够的,还要再修改一下AS的配置,点击File-Settings(这里如果选择的是JAVA_HOME要重启下AS才会更新成最新的):

  修改一下另一个build.gradle的java版本:

  到这里其实已经可以编译通过了,三角形已经亮起了健康的绿色,我也没试虚拟机,直接找了个实体机试了下,成功运行,完结撒花。

文末附上各文件完整内容:

//------------------------------------------------------------------------------------------

  • 第一个build.gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        agp_version = '7.3.0'
    }
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        mavenLocal()
        mavenCentral()
        google()
        // jcenter()
        maven { url "https://jitpack.io" }
        jcenter(){url "https://jcenter.bintray.com/"}
    }
    dependencies {
        classpath "com.android.tools.build:gradle:$agp_version"

        // 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/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        mavenLocal()
        mavenCentral()
        google()
        //jcenter()
        maven { url "https://jitpack.io" }
        jcenter(){url "https://jcenter.bintray.com/"}

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

//------------------------------------------------------------------------------------------

  • 第2个build.gradle文件:

plugins {
    id 'com.android.application'
}

android {
    namespace 'com.example.myapplication'
    compileSdk 33

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdk 24
        targetSdk 33
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

//------------------------------------------------------------------------------------------

  • gradle-wrapper.properties文件:

#Sat Aug 12 10:47:10 CST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

//------------------------------------------------------------------------------------------

  • settings.gradle文件:

pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
//dependencyResolutionManagement {
//    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
//    repositories {
//        google()
//        mavenCentral()
//    }
//}
rootProject.name = "My Application"
include ':app'

//------------------------------------------------------------------------------------------

  网上也有其他的方法,但实操过后感觉作用不大,应该是药不对症,也一并放在下方了,归类在其他项。

  • 下载链接:

Android Studio :

  1、 https://developer.android.com/studio (官网)

  2、 https://www.androiddevtools.cn/# (这里面包括很多Android的资料)

Java11:https://www.oracle.com/java/technologies/downloads/#java11-windows

  • 主要参考资料:

《安卓开发 Android Studio安装教程》 https://blog.csdn.net/m0_65489276/article/details/126830701

《Android studio安装教程》 https://blog.csdn.net/tao_789456/article/details/118093106

《Andriod Studio配置问题:run是灰色的,编译报错 Could not resolve com.android.tools.build:gradle:3.5.2.》 https://blog.csdn.net/m0_37922496/article/details/113531074

《Android Studio 编译报错:Could not GET 'XXX'. Received status code 403 from server: Forbidden》 https://blog.csdn.net/summer_ck/article/details/105264997

《Gradle版本、Gradle插件版本和AndroidStudio版本之间的对应关系》 https://blog.csdn.net/Jackson_Wen/article/details/130671443

《Android Studio 失败:构建失败并出现异常。允许的子类需要 ASM9》 https://www.soinside.com/question/GSDJQXBMciNv3oMRmTsBbE

《Build was configured to prefer settings repositories over project repositories but repository ....问题》 https://blog.csdn.net/badme/article/details/121946258

《如何实现Android Gradle plugin requires Java 11 to run. You are currently using Java的具体操作步骤》 https://blog.51cto.com/u_16175443/6628800

《jdk11下载、安装及环境配置详解(win10环境)》 https://blog.csdn.net/li1325169021/article/details/128667969

  • 其他:

《解决 android studio 出现:"AndroidStudio:Could not GET 'https://dl.google.com Received status code 400 from server: Bad Request"问题》 https://www.cnblogs.com/sky-cheng/p/11832959.html

《Android studio出现Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"的解决办法》 https://blog.csdn.net/e_one/article/details/51046313

《Could not resolve all dependencies for configuration ‘:classpath‘.》 https://blog.csdn.net/BugNest/article/details/123057250

《Android 应用(9)——Gradle和Gradle插件》 https://blog.csdn.net/scottmvp/article/details/120920928

《Android Studio Gradle两种更新方式》 http://www.taodudu.cc/news/show-1041443.html?action=onClick

《Using insecure protocols with repositories, without explicit opt-in, is unsupported.解决方案》 https://blog.csdn.net/qq_36532805/article/details/125118215

《Android stdio build.gradle buildscript 里面的repositories 和allprojects里面 repositories 的区别》 https://blog.csdn.net/u013270444/article/details/88252234

《AS 把鼠标放在targetSdkVersion xx下边红波浪线提示:Google Play requires that apps target API level 31 or higher.》https://blog.csdn.net/qq_35091074/article/details/126229384

《Android studio版本对用的gradle版本和插件版本(注意事项)》https://betheme.net/qianduan/68269.html?action=onClick

gradle下载地址:https://services.gradle.org/distributions/

Android Studio Giraffe安装与gradle配置的更多相关文章

  1. Android开发之深入理解Android Studio构建文件build.gradle配置

    摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...

  2. Android Studio 的安装和配置篇(Windows篇)

    上一篇介绍完了Android Studio,这一篇就专门来讲讲怎么安装配置的吧. 其实好多人都卡到安装配置这一步,想当初我也是,万恶的XX防火墙,导致下载Android Studio 的gradle异 ...

  3. Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)

    本文主要讲述了如何如何在Android Studio使用新的Gradle构建工具配置NDK环境,现在把相关的步骤整理出来分享给Android程序员兄弟们,希望给他们在配置NDK环境时带来帮助. 从An ...

  4. Android Studio的安装及第一次启动时的配置

    Android Studio的安装及第一次启动时的配置 一.下载Android Studio 百度搜索“Android Studio" 点击中文社区进入,选择最新版本下载. 下载后双击安装包 ...

  5. 图文并茂记录下重新配置Win10系统Flutter环境--内含Android Studio 下载安装教程

    Flutter 是什么 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台.Flutter 开源.免费,拥 ...

  6. Android Studio系列教程五--Gradle命令详解与导入第三方包

    Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

  7. Android Studio系列教程四--Gradle基础

    Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...

  8. Android Studio C/C++开发环境配置

    Android Studio C/C++开发环境配置  我的开发环境 : Win 10 + android studio 1.5   一, 安装NDK 开发环境: 1.  Settings -> ...

  9. Android环境的搭建及Android Studio的安装

    菜鸟初来报到,写了一篇关于Android环境搭建和Android Studio安装的内容(写好很久了,一直没发).仅供想开发Android,却又不知如何搭建环境的小白们参考,高手们就请绕行吧.在此献丑 ...

  10. android studio 一直卡在Gradle:Build Running的解决办法

    转:android studio 一直卡在Gradle:Build Running的解决办法   在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...

随机推荐

  1. 2023-03-21:音视频解混合(demuxer)为MP3和H264,用go语言编写。

    2023-03-21:音视频解混合(demuxer)为MP3和H264,用go语言编写. 答案2023-03-21: 步骤1:安装github.com/moonfdd/ffmpeg-go go get ...

  2. Tomcat请求处理流程与源码浅析

    系列文章目录和关于我 一丶Connector 在tomcat中,Connector负责开启socket并且监听客户端请求,返回响应数据. 其中: Endpoint:tomcat中没有这个接口,只有Ab ...

  3. R 语言关于 SSL 证书异常处理笔记

    一.关于 TCGAbiolinks TCGAbiolinks 是一个用于 TCGA 数据综合分析的 R/BioConductor 软件包,能够通过 GDC Application Programmin ...

  4. 曲线艺术编程 coding curves 第十章 螺旋曲线(SPIRALS)

    原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) 源码:github: ht ...

  5. 给你的 Discord 接入一个既能联网又能画画的 ChatGPT

    如果有这样一款 Discord 机器人,它既能访问互联网,又能绘画,还能给 YouTube 视频提供摘要.最重要的是,它是完全免费的,不需要提供 OpenAI 的 API Key,我就问你香不香? 现 ...

  6. 好的,以下是我为您拟定的自然语言处理(NLP)领域的100篇热门博客文章标题,以逻辑清晰、结构紧凑、简单易懂的

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 1. 机器翻译 2. 文本分类 3. 情感分析 5. 优化与改进 6. 结论与展望 好的,以下是我为您拟定的 ...

  7. Paimon Compaction实现

    Compact主要涉及以下几个组件 CompactManager 管理Compact task CompactRewriter 用于compact过程中数据的重写实现, 比如compact过程中产生c ...

  8. pixel 3xl 编译安卓与内核并烧入全流程(含安卓源码部分编译)

    pixel 3xl 编译安卓与内核并烧入全流程(含安卓源码部分编译) 目录 pixel 3xl 编译安卓与内核并烧入全流程(含安卓源码部分编译) 环境搭建 安卓源码下载 一.准备下载环境 1.安装Py ...

  9. mysql处理delete后不释放磁盘空间

    myisam:optimize table table_name innodb:alter table table.name engine='innodb' 1. 问题描述在使用mysql的时候有时候 ...

  10. C++ 惯用法之 Copy-Swap 拷贝交换

    C++ 惯用法之 Copy-Swap 拷贝交换 这是"C++ 惯用法"合集的第 3 篇,前面 2 篇分别介绍了 RAII 和 PIMPL 两种惯用法: RAII: Resouce ...