Android Studio 2022.1.1创建项目的Gradle配置问题

 更新时间:2023年04月14日 15:27:31   作者:0xfather  
这篇文章主要介绍了Android Studio 2022.1.1创建项目的Gradle配置问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

今天使用Android Studio建了一个新项目,遇到了不少问题,网上也找了不少解决方案都无效(可能Studio版本、项目版本等都不一样,解决办法也不一样吧),最后问题解决,总结梳理以下几点:

1.版本确认

Android Studio版本:2022.1.1

Gradle版本:7.5

Android Gradle Plugin Version:7.4.2

JDK版本:Java 11

SDK版本:33(Android 13.0)

 2.遇到的问题

could not resolve plugin artifact 'com.android.application:com.android.application.gradle.plugin:7.4.2'

该问题出现,直接导致项目无法完成编译,看似是gradle插件版本过高问题,导致adnroid核心包无法下载下来,实际上归根结底还是“网络的问题”。

3.解决办法

1)检查各版本配置是否正确

Gradle插件和Gradle工具的版本对应是有要求的,详见下图:

 另外可在Adroid官网查看对应关系:Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers

根据上图可以看出,本次使用的Android Gradle Plugin Version版本是7.4.x,因此对应的Gradle版本是7.5版本(别搞错了,版本不对应一样可能无法完成更新下载)。

另外JDK版本也不宜太高,最初我使用的JDK17,结果发现Android Studio2022.1.1最高支持JDK为Java 11,所以需要降级到Java 11。

 该配置可在File —> Project Structure  —> Modules中查看确认。

2)网络配置

使用代理或梯子是完成不了更新的,所以强烈建议将仓库地支更换为国内源,比如阿里源。

完整的setting.gradle配置:

pluginManagement {
    repositories {
        maven { url "https://jitpack.io" }
        maven { url 'https://maven.aliyun.com/repository/releases' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven { url "https://jitpack.io" }
        maven { url 'https://maven.aliyun.com/repository/releases' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        google()
        mavenCentral()
    }
}
rootProject.name = "XXX"
include ':app'

注:Gradle7.5的Maven仓库配置已经从build.gradle文件转移到setting.gradle文件里了,因此该配置要写在setting.gradle文件里

3)关闭Android Studio代理

这一步很关键,我就是忘记关闭,折腾了半天才发现问题。

打开File —> Setting —> 搜索proxy —> 选择Http Proxy,选择No proxy并确认

4)配置本地Gradle

Android Studio内置了Gradle,但是他在项目编译时才下载Gradle工具,but 不要抱有期望了,下不下来的,还是自己手动下载Gradle工具吧(注意下载对应版本,我这里的对应版本是7.5,若不清楚对应版本,可以看看前面的内容,查看自己需要的版本)。

Gradle版本下载:Gradle Distributions

下载完成后需要配置几个地方:

打开File —> Setting —> Build,Execution……  —> Build Tools  —> Gradle。

a.设置Gradle user home为你安装的gradle目录;

b.设置下方User Gradle from为Specified location,并选择你的gradle目录;

c.选择Gradle JDK版本为Java 11

这样就完全使用本地gradle进行编译了。若使用默认的Gradle user home,则需要修改C:\Users\用户名\.gradle\目录下的gradle.properties文件,注释掉以下代理内容(使用内置Gradle不禁用这里代理仍然会被使用,从而可能导致下载失败):

## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Fri Apr 07 16:23:59 CST 2023
# systemProp.http.proxyHost=mirrors.neusoft.edu.cn
# systemProp.https.proxyHost=mirrors.neusoft.edu.cn
# systemProp.https.proxyPort=80
# systemProp.http.proxyPort=80

 经过以上步骤,项目重新编译应该就可以正常下载更新了。

题外话:若不使用本地Gradle工具,还可能会产生Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"问题哟。

4.其他配置

1)修改Android Studio运行环境内存

打开File —> Setting —> Appearance & Behavior  —> System Settings —> Memory Settings,更改内存为4096MB(根据自己实际情况更改)

 2) 修改字符集编码

打开File —> Setting —> 搜索coding —> Editor —> File Encodings,设置Global Encoding、Project Encoding和Default encoding for properties files为UTF-8,在上方“+”选择项目根路径,表示整个项目使用UTF-8编码。

 以上就是整个基础框架搭建的内容,希望对你有帮助,祝编码愉快!

到此这篇关于Android Studio 2022.1.1创建项目的Gradle配置的文章就介绍到这了,更多相关Android Studio Gradle配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • android仿微信支付宝的支付密码输入框示例

    android仿微信支付宝的支付密码输入框示例

    本篇文章主要介绍了android仿微信支付宝的支付密码输入框示例,具有一定的参考价值,有兴趣的可以了解一下。
    2017-02-02
  • Android菜单(动画菜单、360波纹菜单)

    Android菜单(动画菜单、360波纹菜单)

    本文主要介绍了Android菜单常用集合:FragmentTabHost系统菜单、上移式菜单、360波纹菜单、展开式菜单。详解注释,可直接拿来用。下面跟着小编一起来看下吧
    2017-03-03
  • 基于Flutter制作一个吃豆人加载动画

    基于Flutter制作一个吃豆人加载动画

    这篇文章主要为大家介绍了如何利用Flutter制作出吃豆人加载动画效果,文中的示例代码讲解详细,快跟随小编一起动手尝试一下
    2022-04-04
  • Android Fragment源码分析Add方法

    Android Fragment源码分析Add方法

    Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段
    2022-08-08
  • android实现简单的画画板实例代码

    android实现简单的画画板实例代码

    画画板实现起来其实很简单,我们只需要利用android给我们提供的Canvas类来操作就可以实现简单的画画功能
    2014-01-01
  • 安卓Android6.0权限动态获取操作示例

    安卓Android6.0权限动态获取操作示例

    这篇文章主要介绍了安卓Android6.0权限动态获取操作,结合实例形式分析了Android6.0针对权限的动态获取、授权等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Android三种常见的图片压缩方式

    Android三种常见的图片压缩方式

    在开发中,我们经常有这样一种需求,从相册选择图片,上传到服务器。随着手机像素的不断提升,照片也是小一点的3,4兆,大一点的多大10多兆。如果直接上传原图,会增大服务器压力,所以,在上传之前对图片压缩就显得很必要了。
    2021-05-05
  • Qt5.12.6配置Android Arm开发环境(图文)

    Qt5.12.6配置Android Arm开发环境(图文)

    本文主要介绍了Qt5.12.6配置Android Arm开发环境,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 源码详解Android中View.post()用法

    源码详解Android中View.post()用法

    本文通过源码给大家详细分析了在Android中View.post()的用法以及经常遇到的问题和解决办法,一起来学习下。
    2017-12-12
  • Android获取联系人姓名和电话代码

    Android获取联系人姓名和电话代码

    这篇文章主要为大家详细介绍了Android获取联系人姓名和电话代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02

最新评论