今天使用Android Studio建了一個新項目,遇到了不少問題,網(wǎng)上也找了不少解決方案都無效(可能Studio版本、項目版本等都不一樣,解決辦法也不一樣吧),最后問題解決,總結(jié)梳理以下幾點:
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.遇到的問題
could not resolve plugin artifact 'com.android.application:com.android.application.gradle.plugin:7.4.2'
該問題出現(xiàn),直接導(dǎo)致項目無法完成編譯,看似是gradle插件版本過高問題,導(dǎo)致adnroid核心包無法下載下來,實際上歸根結(jié)底還是“網(wǎng)絡(luò)的問題”。
3.解決辦法
1)檢查各版本配置是否正確
Gradle插件和Gradle工具的版本對應(yīng)是有要求的,詳見下圖:
?另外可在Adroid官網(wǎng)查看對應(yīng)關(guān)系:Android Gradle 插件版本說明 ?|? Android 開發(fā)者 ?|? Android Developers
根據(jù)上圖可以看出,本次使用的Android Gradle Plugin Version版本是7.4.x,因此對應(yīng)的Gradle版本是7.5版本(別搞錯了,版本不對應(yīng)一樣可能無法完成更新下載)。
另外JDK版本也不宜太高,最初我使用的JDK17,結(jié)果發(fā)現(xiàn)Android Studio2022.1.1最高支持JDK為Java 11,所以需要降級到Java 11。
?該配置可在File —> Project Structure? —> Modules中查看確認(rèn)。
2)網(wǎng)絡(luò)配置
使用代理或梯子是完成不了更新的,所以強烈建議將倉庫地支更換為國內(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倉庫配置已經(jīng)從build.gradle文件轉(zhuǎn)移到setting.gradle文件里了,因此該配置要寫在setting.gradle文件里
3)關(guān)閉Android Studio代理
這一步很關(guān)鍵,我就是忘記關(guān)閉,折騰了半天才發(fā)現(xiàn)問題。
打開File —> Setting —> 搜索proxy —> 選擇Http Proxy,選擇No proxy并確認(rèn)
4)配置本地Gradle
Android Studio內(nèi)置了Gradle,但是他在項目編譯時才下載Gradle工具,but 不要抱有期望了,下不下來的,還是自己手動下載Gradle工具吧(注意下載對應(yīng)版本,我這里的對應(yīng)版本是7.5,若不清楚對應(yīng)版本,可以看看前面的內(nèi)容,查看自己需要的版本)。
Gradle版本下載:Gradle Distributions
下載完成后需要配置幾個地方:
打開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進行編譯了。若使用默認(rèn)的Gradle user home,則需要修改C:\Users\用戶名\.gradle\目錄下的gradle.properties文件,注釋掉以下代理內(nèi)容(使用內(nèi)置Gradle不禁用這里代理仍然會被使用,從而可能導(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)過以上步驟,項目重新編譯應(yīng)該就可以正常下載更新了。
題外話:若不使用本地Gradle工具,還可能會產(chǎn)生Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"問題喲。
4.其他配置
1)修改Android Studio運行環(huán)境內(nèi)存
打開File —> Setting —> Appearance & Behavior? —> System Settings —> Memory Settings,更改內(nèi)存為4096MB(根據(jù)自己實際情況更改)
?2)?修改字符集編碼
打開File —> Setting —> 搜索coding?—> Editor?—> File Encodings,設(shè)置Global Encoding、Project Encoding和Default encoding for properties files為UTF-8,在上方“+”選擇項目根路徑,表示整個項目使用UTF-8編碼。
文章來源:http://www.zghlxwxcb.cn/news/detail-455650.html
?以上就是整個基礎(chǔ)框架搭建的內(nèi)容,希望對你有幫助,祝編碼愉快!文章來源地址http://www.zghlxwxcb.cn/news/detail-455650.html
到了這里,關(guān)于Android Studio 2022.1.1創(chuàng)建項目的Gradle配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!