Android Studio Giraffe安装与gradle配置
本机环境: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配置的更多相关文章
- Android开发之深入理解Android Studio构建文件build.gradle配置
摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...
- Android Studio 的安装和配置篇(Windows篇)
上一篇介绍完了Android Studio,这一篇就专门来讲讲怎么安装配置的吧. 其实好多人都卡到安装配置这一步,想当初我也是,万恶的XX防火墙,导致下载Android Studio 的gradle异 ...
- Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)
本文主要讲述了如何如何在Android Studio使用新的Gradle构建工具配置NDK环境,现在把相关的步骤整理出来分享给Android程序员兄弟们,希望给他们在配置NDK环境时带来帮助. 从An ...
- Android Studio的安装及第一次启动时的配置
Android Studio的安装及第一次启动时的配置 一.下载Android Studio 百度搜索“Android Studio" 点击中文社区进入,选择最新版本下载. 下载后双击安装包 ...
- 图文并茂记录下重新配置Win10系统Flutter环境--内含Android Studio 下载安装教程
Flutter 是什么 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台.Flutter 开源.免费,拥 ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- Android Studio系列教程四--Gradle基础
Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...
- Android Studio C/C++开发环境配置
Android Studio C/C++开发环境配置 我的开发环境 : Win 10 + android studio 1.5 一, 安装NDK 开发环境: 1. Settings -> ...
- Android环境的搭建及Android Studio的安装
菜鸟初来报到,写了一篇关于Android环境搭建和Android Studio安装的内容(写好很久了,一直没发).仅供想开发Android,却又不知如何搭建环境的小白们参考,高手们就请绕行吧.在此献丑 ...
- android studio 一直卡在Gradle:Build Running的解决办法
转:android studio 一直卡在Gradle:Build Running的解决办法 在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...
随机推荐
- 2020-10-11:一条sql语句执行时间过长,应该如何优化?从哪些方面进行优化?
福哥答案2020-10-11:#福大大架构师每日一题# 简单回答:执行计划调优.语句调优.索引调优.设计调优.业务调优. 中级回答:时间有限,回答得不全面.1.执行计划调优熟读执行计划,十大参数. 2 ...
- 2021-02-23:给定一个正数n,求n的裂开方法数。规定:后面的数不能比前面的数小 。比如4的裂开方法有: 1+1+1+1、1+1+2、1+3、2+2、4,5种,所以返回5。
2021-02-23:给定一个正数n,求n的裂开方法数.规定:后面的数不能比前面的数小 .比如4的裂开方法有: 1+1+1+1.1+1+2.1+3.2+2.4,5种,所以返回5. 福哥答案2021-0 ...
- 2021-10-02:单词搜索。给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母
2021-10-02:单词搜索.给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false .单词必须按照字母 ...
- 2023-05-16:给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。 请你找到这个数组里第 k 个缺失的正整数。 输入:arr = [2,3,4,7,11], k = 5。 输出:9
2023-05-16:给你一个 严格升序排列 的正整数数组 arr 和一个整数 k . 请你找到这个数组里第 k 个缺失的正整数. 输入:arr = [2,3,4,7,11], k = 5. 输出:9 ...
- 蓝桥杯真题 k倍区间
考点: - 利用前缀和求子列和 - 同余作差是模的倍数 题目概要 给定一个长度为N的数列,A1, A2, - AN,如果其中一段连续的子序列Ai, Ai+1, - Aj(i <= j)之和是K的 ...
- Could not resolve com.android.tools.lint:lint-kotlin:26.2.0.
好久没有使用weexplus publish android 打包apk, 今一运行失败了,提示Could not resolve com.android.tools.lint:lint-kotlin ...
- ODDO之三 :Odoo 13 开发之创建第一个 Odoo 应用
Odoo 开发通常都需要创建自己的插件模块.本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件.我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进 ...
- RESTful API 简介
RESTful API 简介 想必使用过 PHP.JSP 这一类服务器动态页面技术的程序员应该都还记得,在使用这种传统的动态页面架构构建应用程序的时候,用于描述用户界面的 HTML 页面通常都是在服务 ...
- Linux 下 PostgreSQL 源码编译安装
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. PostgreSQL 是一个功能强大的开源对象关系数据库管理系统(ORDBMS),它从伯克利写 ...
- Linux 调用约定
函数调用约定是对函数调用时如何传递参数的一种约定.关于它的约定有许多种,下面我们分 别从内核接口和用户接口两方面介绍32位和64位Linux的调用约定. 一.内核接口 x86-32系统调用约定 ...