Android?Studio?2022.1.1創(chuàng)建項(xiàng)目的Gradle配置問(wèn)題
今天使用Android Studio建了一個(gè)新項(xiàng)目,遇到了不少問(wèn)題,網(wǎng)上也找了不少解決方案都無(wú)效(可能Studio版本、項(xiàng)目版本等都不一樣,解決辦法也不一樣吧),最后問(wèn)題解決,總結(jié)梳理以下幾點(diǎn):
1.版本確認(rèn)
Android Studio版本:2022.1.1
Gradle版本:7.5
Android Gradle Plugin Version:7.4.2
JDK版本:Java 11
SDK版本:33(Android 13.0)
2.遇到的問(wèn)題
could not resolve plugin artifact 'com.android.application:com.android.application.gradle.plugin:7.4.2'
該問(wèn)題出現(xiàn),直接導(dǎo)致項(xiàng)目無(wú)法完成編譯,看似是gradle插件版本過(guò)高問(wèn)題,導(dǎo)致adnroid核心包無(wú)法下載下來(lái),實(shí)際上歸根結(jié)底還是“網(wǎng)絡(luò)的問(wèn)題”。
3.解決辦法
1)檢查各版本配置是否正確
Gradle插件和Gradle工具的版本對(duì)應(yīng)是有要求的,詳見(jiàn)下圖:
另外可在Adroid官網(wǎng)查看對(duì)應(yīng)關(guān)系:Android Gradle 插件版本說(shuō)明 | Android 開(kāi)發(fā)者 | Android Developers
根據(jù)上圖可以看出,本次使用的Android Gradle Plugin Version版本是7.4.x,因此對(duì)應(yīng)的Gradle版本是7.5版本(別搞錯(cuò)了,版本不對(duì)應(yīng)一樣可能無(wú)法完成更新下載)。
另外JDK版本也不宜太高,最初我使用的JDK17,結(jié)果發(fā)現(xiàn)Android Studio2022.1.1最高支持JDK為Java 11,所以需要降級(jí)到Java 11。
該配置可在File —> Project Structure —> Modules中查看確認(rèn)。
2)網(wǎng)絡(luò)配置
使用代理或梯子是完成不了更新的,所以強(qiáng)烈建議將倉(cāng)庫(kù)地支更換為國(guó)內(nèi)源,比如阿里源。
完整的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倉(cāng)庫(kù)配置已經(jīng)從build.gradle文件轉(zhuǎn)移到setting.gradle文件里了,因此該配置要寫(xiě)在setting.gradle文件里
3)關(guān)閉Android Studio代理
這一步很關(guān)鍵,我就是忘記關(guān)閉,折騰了半天才發(fā)現(xiàn)問(wèn)題。
打開(kāi)File —> Setting —> 搜索proxy —> 選擇Http Proxy,選擇No proxy并確認(rèn)
4)配置本地Gradle
Android Studio內(nèi)置了Gradle,但是他在項(xiàng)目編譯時(shí)才下載Gradle工具,but 不要抱有期望了,下不下來(lái)的,還是自己手動(dòng)下載Gradle工具吧(注意下載對(duì)應(yīng)版本,我這里的對(duì)應(yīng)版本是7.5,若不清楚對(duì)應(yīng)版本,可以看看前面的內(nèi)容,查看自己需要的版本)。
Gradle版本下載:Gradle Distributions
下載完成后需要配置幾個(gè)地方:
打開(kāi)File —> Setting —> Build,Execution…… —> Build Tools —> Gradle。
a.設(shè)置Gradle user home為你安裝的gradle目錄;
b.設(shè)置下方User Gradle from為Specified location,并選擇你的gradle目錄;
c.選擇Gradle JDK版本為Java 11
這樣就完全使用本地gradle進(jìn)行編譯了。若使用默認(rèn)的Gradle user home,則需要修改C:\Users\用戶名\.gradle\目錄下的gradle.properties文件,注釋掉以下代理內(nèi)容(使用內(nèi)置Gradle不禁用這里代理仍然會(huì)被使用,從而可能導(dǎo)致下載失?。?/p>
## 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
經(jīng)過(guò)以上步驟,項(xiàng)目重新編譯應(yīng)該就可以正常下載更新了。
題外話:若不使用本地Gradle工具,還可能會(huì)產(chǎn)生Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"問(wèn)題喲。
4.其他配置
1)修改Android Studio運(yùn)行環(huán)境內(nèi)存
打開(kāi)File —> Setting —> Appearance & Behavior —> System Settings —> Memory Settings,更改內(nèi)存為4096MB(根據(jù)自己實(shí)際情況更改)
2) 修改字符集編碼
打開(kāi)File —> Setting —> 搜索coding —> Editor —> File Encodings,設(shè)置Global Encoding、Project Encoding和Default encoding for properties files為UTF-8,在上方“+”選擇項(xiàng)目根路徑,表示整個(gè)項(xiàng)目使用UTF-8編碼。
以上就是整個(gè)基礎(chǔ)框架搭建的內(nèi)容,希望對(duì)你有幫助,祝編碼愉快!
到此這篇關(guān)于Android Studio 2022.1.1創(chuàng)建項(xiàng)目的Gradle配置的文章就介紹到這了,更多相關(guān)Android Studio Gradle配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)
- Android?Studio?中Gradle配置sonarqube插件(推薦)
- Flutter下Android Studio配置gradle的方法
- Android studio gradle環(huán)境變量配置教程
- Android Studio 3.0 Gradle 配置變更
- Mac中配置gradle環(huán)境及使用android studio打包jar包與arr包的方法
- Android Studio手動(dòng)配置Gradle的方法
- android studio 3.0 gradle 打包腳本配置詳解
相關(guān)文章
Android開(kāi)發(fā)仿bilibili刷新按鈕的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 仿bilibili刷新按鈕的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-10-10Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06關(guān)于Android CountDownTimer的使用及注意事項(xiàng)
這篇文章主要介紹了關(guān)于Android CountDownTimer的使用及注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Android 自定義輸入手機(jī)號(hào)自動(dòng)添加分隔符
這篇文章主要介紹了Android 自定義輸入手機(jī)號(hào)自動(dòng)添加分隔符的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05Flutter加載圖片流程之ImageProvider源碼示例解析
這篇文章主要為大家介紹了Flutter加載圖片流程之ImageProvider源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04android中Intent傳值與Bundle傳值的區(qū)別詳解
本篇文章是對(duì)android中Intent傳值與Bundle傳值的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Android實(shí)現(xiàn)雙向滑動(dòng)特效的實(shí)例代碼
這篇文章主要介紹了Android實(shí)現(xiàn)雙向滑動(dòng)特效的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過(guò)來(lái)看看吧2018-05-05Android 模擬器(JAVA)與C++ socket 通訊 分享
Android 模擬器(JAVA)與C++ socket 通訊 分享,需要的朋友可以參考一下2013-05-05Android設(shè)計(jì)模式之適配器(Adapter)模式
這篇文章主要介紹了Android設(shè)計(jì)模式之適配器(Adapter)模式,以源碼解析的方式分析適配器模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11