studio 錯(cuò)誤匯總以及解決辦法

問(wèn)題1.

Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

意思是“com.android.support:support-annotations”依賴沖突了,APP的 是26.1.0,而 測(cè)試APP是 27.1.1

解決措施:

1).最簡(jiǎn)單的方法,直接Rebuild Project ,此次編譯可以通過(guò),但后面還是出現(xiàn),比如:Clean Project時(shí)

2).直接在build.gradle 修改SdkVersion

compileSdkVersion 26
targetSdkVersion 26

改為

compileSdkVersion 27
targetSdkVersion 27

3). 修改 dependencies

image

第一印象直接添加一句
com.android.support:support-annotations:26.1.0 ,就行了吧,等你同步后,發(fā)現(xiàn)然并卵

我這么試了發(fā)現(xiàn)根本就不行。查了好久才發(fā)現(xiàn)并不只是這一句有問(wèn)題,在google之后http://stackoverflow.com/questions/28999124/resolved-versions-for-app-22-0-0-and-test-app-21-0-3-differ給出了一些解釋。

簡(jiǎn)單粗暴的方法,添加force強(qiáng)制指定annotations,你會(huì)發(fā)現(xiàn)成功了

configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'
  }


問(wèn)題2

android.content.res.Resources$NotFoundException: String resource ID #0x0
在給TextView的setText(Int int)方法中的int指的是R.string.xxx,不能賦值其它int值


問(wèn)題3、 apk安裝出現(xiàn)閃退

java.lang.RuntimeException: Unable to instantiate application

在build.gradle文件中將gradle版本安裝提示修改后重新編譯得到解決

image

問(wèn)題4

Error:Tag attribute name has invalid character ’ ‘.
Error:Tag attribute name has invalid character ’ ‘.
Error:org.gradle.process.internal.ExecException: Process ‘command
‘E:\Android\sdk\build-tools\26.0.2\aapt.exe” finished with non-zero
exit value 1 Error:Execution failed for task
‘:backend01:processDebugResources’.
Failed to execute aapt

這個(gè)錯(cuò)誤是因?yàn)樵贏ndroidManifest.xml中category的值有一個(gè)空格,將空格去除就好了


問(wèn)題5

 Error:Execution failed for task :app:processDebugAndroidTestResources.
 No slave process to process jobs, aborting

clean和rebuild都沒(méi)有成功后,直接點(diǎn)擊 File>Invalidate Caches/Restart后編譯通過(guò)

問(wèn)題6

新建的工程 就出現(xiàn)這個(gè)錯(cuò)誤

  • 出現(xiàn)的異常
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.1.
Open File
Show Details

  • 解決方案

看錯(cuò)誤的信息

Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.1.

我的理解 不能加載1.1.1 版本的 那么 就改成

dependencies {

    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:27.1.1'
 //   implementation 'com.android.support.constraint:constraint-layout:1.1.1'
//替換陳這個(gè)版本的
   implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:support-v4:27.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

build

ok

問(wèn)題7

1. Error:Execution failed for task ':app:transformNative_libsWithStripDebugSymbolForDDebug‘
   java.lang.NullPointerException (no error message)
2. Error:Execution failed for task ':module:transformNative_libsWithStripDebugSymbolForDebug'.
   java.lang.NullPointerException (no error message)

  • 原因
    Debug模式找不到NDK。

  • 解決辦法
    注釋掉第11行的ndk

    image

問(wèn)題8

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/graphics/drawable/DrawableWrapper;
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.graphics.drawable.DrawableWrapper" on path: DexPathList[[zip file "/data/app/com.cpsc.cpsc_pgsip-2/base.apk"],nativeLibraryDirectories=[/data/app/com.cpsc.cpsc_pgsip-2/lib/arm, /data/app/com.cpsc.cpsc_pgsip-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]

  • 根據(jù)問(wèn)題得知是 android.support.v4.graphics.drawable.DrawableWrapper 找不到
  • 解決辦法 ,分2步
    1.保持版本支持
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
compile 'com.android.support:design:27.1.1'

  1. 找到出問(wèn)題的布局重新寫(xiě)一次,可能是這里的問(wèn)題,我再做了1之后,發(fā)現(xiàn)沒(méi)什么卵用(但是保持一致的還是好的)最后還是重新寫(xiě)一次布局ok了。

問(wèn)題9

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@drawable/icon_hbh) from AndroidManifest.xml:30:9-42
    is also present at [xxx:wallet:unspecified] AndroidManifest.xml:16:9-43 value=(@mipmap/ic_launcher).
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:27:5-48:19 to override.

原因:
AS的Gradle插件默認(rèn)會(huì)啟用Manifest Merger Tool,若Library項(xiàng)目中也定義了與主項(xiàng)目相同的屬性(例如默認(rèn)生成的android:icon和android:theme),則此時(shí)會(huì)合并失敗,并報(bào)上面的錯(cuò)誤。

解決方案:
方法1:在在工程的Manifest.xml的application標(biāo)簽下添加tools:replace=“android:icon, android:theme”(多個(gè)屬性用,隔開(kāi),并且記住在manifest根標(biāo)簽上加入xmlns:tools=“http://schemas.android.com/tools”,否則會(huì)找不到namespace哦,也可以按到Alt + Enter鍵快捷添加)
方法2:在build.gradle根標(biāo)簽上加上useOldManifestMerger true (懶人方法)

問(wèn)題10

error: style attribute ‘@android:attr/windowEnterAnimation’ not found.

在Project/gradle.properties中添加 android.enableAapt2=false,就可以解決問(wèn)題

問(wèn)題11

當(dāng)打包時(shí)出現(xiàn)Error:The number of method references in a .dex file cannot exceed 64K.的錯(cuò)誤提示

1.在app的 build.gradle 中添加配置

...
android {
...
defaultConfig {
...
multiDexEnabled true
}
}
dependencies {
...
compile 'com.android.support:multidex:1.0.1'
...
}

2.在AndroidManifest.xml中的application標(biāo)簽中添加繼承MultiDexApplication的類(lèi)。當(dāng)然,也可以不用繼承MultiDexApplication類(lèi),而是在繼承的Application類(lèi)中加入下面的代碼

protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

問(wèn)題12

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.helloworld1/com.example.helloworld1.gridview.GridViewActivity}; have you declared this activity in your AndroidManifest.xml?

該錯(cuò)誤信息中的 have you declared this activity in your AndroidManifest.xml?明確指出“在 AndroidManifest.xml 文件中沒(méi)有聲明相關(guān)activity”

修改如下:
在 AndroidManifest.xml 文件中 添加相關(guān)activity即可

問(wèn)題13

Android resource linking failed
AAPT: D:\developer\androidproject\MyApplication\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found.
D:\developer\androidproject\MyApplication\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found.
D:\developer\androidproject\MyApplication\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2781: error: resource android:attr/fontVariationSettings not found.
D:\developer\androidproject\MyApplication\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2782: error: resource android:attr/ttcIndex not found.
D:\developer\androidproject\MyApplication\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:3207: error: resource android:attr/textFontWeight not found.
error: failed linking references.

這種情況一般是項(xiàng)目配置導(dǎo)致的,打開(kāi) File–> Project Structure,看到modules選項(xiàng)內(nèi)容如下:


微信圖片_20211008172159.png

在上圖中會(huì)發(fā)現(xiàn)compile sdk version 和build tools version版本不一致,將build tools version版本也改為26.
如下圖所示:


微信圖片_20211008172159.png

再次運(yùn)行成功。

有時(shí)候修改了上述配置后,還會(huì)遇到“Android resource linking failed”的錯(cuò)誤,但是,仔細(xì)看構(gòu)建信息,可能還會(huì)遇到另外一種錯(cuò)誤,如下圖標(biāo)記所示:

The specified Android SDK Build Tools version (26.0.0) is ignored, as it is below the minimum supported version (29.0.2) for Android Gradle Plugin 4.0.1.

這個(gè)就涉及到Android gradle插件了,具體的可參考官網(wǎng),找到相匹配的版本。
網(wǎng)址是:
https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh_cn

問(wèn)題14

Error:(16,0) Gradle DSL method not found: 'android()'

原因:

當(dāng)你通過(guò)ProjectStructure修改了編譯的版本或工具時(shí),可能會(huì)在Project的build.gradle配置文件中添加如下腳本代碼,此時(shí)就會(huì)導(dǎo)致上面報(bào)錯(cuò)了。

android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
}

問(wèn)題15

Error:Execution failed for task ':app:transformClassesWithDexForBaiduRelease'.

在引用第三方庫(kù)時(shí),可能出現(xiàn)重復(fù)引用 Support 庫(kù),而且 gradle編譯會(huì)報(bào)錯(cuò):
我們可以在項(xiàng)目 app 下的 build.gradle 里添加exclude排除第三方庫(kù)中的重復(fù)依賴:

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.0.0'
implementation ('com.allenliu.versionchecklib:library:2.0.5') {
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'support-v7'
}
...
}

問(wèn)題16

Duplicate jar entry [android/support/v4/hardware/display/DisplayManagerCompat.class]

根據(jù)錯(cuò)誤日志可知是系統(tǒng) v4 包重復(fù)依賴問(wèn)題??梢栽陧?xiàng)目 app 下的 build.gradle 里添加exclude排除第三方庫(kù)中的 v4 包:

implementation ('com.xxx:xxx:2.0.1') {
exclude module: 'support-v4'
}

問(wèn)題17

Error:SSL peer shut down incorrectly

在下載第三方庫(kù)時(shí),下載任務(wù)失敗的錯(cuò)誤。原因是因?yàn)橄螺d文件的被限制了,可以更改jcenter()或maven()倉(cāng)庫(kù)地址,重新下載。

更改項(xiàng)目根目錄下的 build.gradle 中的倉(cāng)庫(kù)地址,添加新的倉(cāng)庫(kù)地址(Bintray 或者 AliYun),并且要放在jcenter()之前,保證優(yōu)先訪問(wèn)maven()中的地址。

buildscript {
repositories {
google()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
maven { url 'https://jitpack.io' }
}
}
...
allprojects {
repositories {
google()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
maven { url 'https://jitpack.io' }
}
}
...

問(wèn)題17

1、Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. 

解決:

在build.gradle文件中加入以下代碼

configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'
}

問(wèn)題18

Error:Execution failed for task ':app:mergeDebugResources'.
> D:\workspace5\Boke\app\src\main\res\drawable\custom_Animation_progress_bar.xml: Error: 'A' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore

解決方法:

1、你的項(xiàng)目中res\drawable下存在大寫(xiě)字母,將項(xiàng)目中對(duì)應(yīng)的大寫(xiě)字母改為小寫(xiě)字母即可

問(wèn)題19


Error:Execution failed for task ':app:compileDebugNdk'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Eclipse\android-studio-sdk\android-sdk-windows\ndk-bundle\ndk-build.cmd'' finished with non-zero exit value 2

解決方法:
1、編譯NDK時(shí)最好不要使用SDKManager里下載的ndk-bundle,否則會(huì)報(bào)這些錯(cuò)誤

2、官網(wǎng)下載NDK開(kāi)發(fā)包,r9、r10系列,然后替換掉久的ndk就可以了

問(wèn)題20

Error: Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead [ValidFragment]

解決方式:在Moudel下的build.gradle添加如下代碼

android {
lintOptions {
checkReleaseBuilds false
}
}

問(wèn)題21

1634003418(1).png

解決方法:
在AndroidManifest.xml里面:

tools:replace="android:label"

 <meta-data
            android:name="android.support.VERSION"
            android:value="26.0.2"
            tools:node="replace" />

問(wèn)題22

c394a9661f847a7d218ede2e14d5d237.png

[androidx.versionedparcelable:versionedparcelable:1.1.1] C:\Users\Administrator\.gradle\caches\transforms-2\files-2.1\b240857b340f59c86ea9 aaf340da2c21\versionedparcelable-1.1.1\AndroidManifest.xml Warning: Package name 'androidx.versionedparcelable' used in: androidx.versionedparcelable:versionedparcelable:1.1.1, com.android.support:v ersionedparcelable:28.0.0.
圖中顯示問(wèn)題(the 'android.useAndroidX' property is not enabled),即說(shuō)明了使用了AndroidX的依賴,但是并沒(méi)有在gradle.properties文件中使能,so,只需要在gradle.properties文件中加上如下兩句即可:

android.useAndroidX=true
android.enableJetifier=true

c394a9661f847a7d218ede2e14d5d237.png

問(wèn)題23

提示Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidM

在gradle.properties 文件里面添加

android.useAndroidX=true
android.enableJetifier=true

問(wèn)題24

Cannot fit requested classes in a single dex file (# methods: 76968 > 65536)

問(wèn)題原因:

該項(xiàng)目中定義的方法太多了,一個(gè)dex已經(jīng)裝不下了,需要個(gè)多個(gè)dex,也就是multidex ,因?yàn)锳ndroid系統(tǒng)定義總方法數(shù)是一個(gè)short int,short int 最大值為65536

解決方法

在 app 的 build.gradle 文件中

android {
    defaultConfig {
        // 這里添加
        multiDexEnabled true
    }
}
dependencies {
    // 引入multidex庫(kù)
    implementation 'com.android.support:multidex:1.0.3'
}

在自定義的 application 中初始化 MultiDex

public class App extends Application{
    
    private static App mApp;
    
    @Override
    public void onCreate() {
        super.onCreate();
        mApp = this;
        // 初始化MultiDex
        MultiDex.install(this);
    }

    public static App getApp() {
        return mApp;
    }
}

問(wèn)題25

Cannot find declaration to go to
解決方式:找到Studio的File菜單 找到 Invalidate Caches / Restart

問(wèn)題26

java.lang.RuntimeException: ARouter::Compiler >>> No module name, for more information, look at gra
下面這就話,原文復(fù)制到defaultconfig 中即可.

javaCompileOptions {
            annotationProcessorOptions {
                arguments = [AROUTER_MODULE_NAME: project.getName(), AROUTER_GENERATE_DOC: "enable"]
            }
        }

問(wèn)題27

\app\build\outputs\apk\debug\app-debug.apk' Installation failed due to: 'INSTALL_FAILED_TEST_ONLY'
解決措施(oppo會(huì)出現(xiàn)安裝失敗)
在gradle.properties里添加

android.injected.testOnly=false

問(wèn)題28'

Could not GET 'https://dl.bintray.com/umsdk/release/com/android/tools/build/gradle/4.0.0/gradle-4.0.0.pom'. Received status code 502 from server: Bad Gateway Disable Gradle 'offline mode' and sync project
解決:/umsdk/release/com/android/不能下載,

問(wèn)題29

Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven(XXX)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols.
Caused by: org.gradle.api.InvalidUserCodeException: Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository

解決方法
1 添加關(guān)鍵字 allowInsecureProtocol
maven {
            allowInsecureProtocol = true
            url 'xxx'
}

2 maven 地址url 由http改為https
問(wèn)題30

Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.

0207a64873d84dc0b1def378d0af3f58.png

翻譯成中文:

在"/Users/lijunde/Library/Android/sdk/build-tools/31.0.0/dx"文件夾中,31.0.0版本的構(gòu)建工具缺少了DX文件。

已安裝的31.0.0版本的構(gòu)建工具已損壞。使用SDK管理器刪除并再次安裝。

看到這個(gè)報(bào)錯(cuò)信息我很疑惑,31.0.0版本的構(gòu)建工具明明是從Android Studio的SDK管理器下載的,為什么會(huì)提示已損壞呢?于是我按照提示,刪除并重裝了31.0.0版本的構(gòu)建工具,但重新構(gòu)建項(xiàng)目依然提示上述錯(cuò)誤信息。

接著我求助了Google和StackOverflow,終于找到了完美的解決方案。

解決方案
根據(jù)構(gòu)建報(bào)錯(cuò)信息"31.0.0版本的構(gòu)建工具缺少了DX文件",以及StackOverflow的解決方案發(fā)現(xiàn),31.0.0版本的構(gòu)建工具缺少了"dx"和"dx.jar"這兩文件,正確的做法就是對(duì)應(yīng)路徑的"d8"和"d8.jar"這兩文件創(chuàng)建副本,并分別改名為"dx"和"dx.jar","d8"和"d8.jar"這兩文件的大致路徑為:

C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\d8
C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib\d8.jar

0207a64873d84dc0b1def378d0af3f58.png

問(wèn)題30

Caused by: java.lang.ClassNotFoundException: org.gradle.api.internal.component.Usage
解決辦法 這是由于插件兼容問(wèn)題導(dǎo)致的錯(cuò)誤,如果有com.novoda:bintray-release請(qǐng)把版本修改為0.5.0。 PS : 感謝weixin_41101173的提示,對(duì)于大于AndroidStudio3.14版本的,請(qǐng)改為0.8.0 async以后 出現(xiàn)新的問(wèn)題 從網(wǎng)上百度了一下,好多博客寫(xiě)的是Gradle版本過(guò)高,修改成4.4(原本為4.6) 進(jìn)行修改,

問(wèn)題31

Duplicate class androidx.versionedparcelable.VersionedParcelable found in moudle
解決
只要在project 的gradle.properties 內(nèi)加入

以下兩句

android.useAndroidX=true
android.enableJetifier=true

問(wèn)題32

2021-08-06 20:32:37.206 5797-5797/com.ba.manage E/AndroidRuntime: FATAL EXCEPTION: main Process: com.ba.manage, PID: 5797 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app/FragmentActivity; at Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.app.FragmentActivity" on path: DexPathList[[zip file "/data/app/com.ba.manage-F9vM0zF4Kv55g0wDN8D-XA==/base.apk"],nativeLibraryDirectories=[/data/app/com.ba.manage-F9vM0zF4Kv55g0wDN8D-XA==/lib/arm64, /data/app/com.wq.manage-F9vM0zF4Kv55g0wDN8D-XA==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at
解決
只要在project 的gradle.properties 內(nèi)加入

以下兩句

android.useAndroidX=true
android.enableJetifier=true

問(wèn)題33

00 pc 00000000002300f0 /apex/com.android.runtime/lib64/libart.so (void art::mirror::Object::VisitReferences<true, (art::VerifyObjectFlags)0, (art::ReadBarrierOption)1, art::gc::collector::ConcurrentCopying::RefFieldsVisitor<false>, art::gc::collector::ConcurrentCopying::RefFieldsVisitor<false> >(art::gc::collector::ConcurrentCopying::RefFieldsVisitor<false> const&, art::gc::collector::ConcurrentCopying::RefFieldsVisitor<false> const&)+2008) [arm64-v8a::184faa3d168755a63d13dc4ef02c74fa] 201 pc 00000000002204b0 /apex/com.android.runtime/lib64/libart.so (art::gc::collector::ConcurrentCopying::ImmuneSpaceScanObjVisitor::Callback(art::mirror::Object*, void*)+120) [arm64-v8a::184faa3d168755a63d13dc4ef02c74fa]

解決方案:
打開(kāi)AndroidStudio的Device File Explorer,如下:


20201224171501252.png

找到/data/local/tmp/perfd文件夾,刪除它,就可以了。我上面的是已經(jīng)刪除過(guò)的。為什么會(huì)這樣,不太清楚。如果你擔(dān)心刪除有問(wèn)題,可以先備份下,再刪除

問(wèn)題34

e: E:\studiowork\Navigation\app\src\main\java\com\eyuai\mvvm\MvvMActivity.kt: (6, 29): Unresolved reference: BR
解決方法:

1659580618075.jpg

問(wèn)題35

Invalid Gradle JDK configuration found. Open Gradle Settings Change JDK location
解決方案:

1.可能是沒(méi)有設(shè)置jdk, 打開(kāi)File-Project Structure-SDK Location,設(shè)置JDK Location


6fd35627f3b30e71d4eb4adf689cab6f.png

2.把項(xiàng)目下的 .idea/gradle.xml中 的gradleJvm由JDK改成1.8 ,如果沒(méi)有直接加上即可, 如下圖


3adf8574aeb14695b91d47f5affb0d92.jpg

問(wèn)題36

Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.1)
解決方法:

需要在gradle.properties中添加下面兩行代碼

這是因?yàn)榛旌现С謳?kù)。通過(guò)添加這些行選擇androidX作為您的支持庫(kù)

android.useAndroidX=true
android.enableJetifier=true

問(wèn)題36

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
原因`
出現(xiàn)這個(gè)問(wèn)題可能有兩個(gè)原因

Gradle JDK和JAVA_HOME的指向的不是一個(gè)編譯器引起的,本解決方案是針對(duì)這個(gè)原因
如果還同時(shí)有Unsupported java錯(cuò)誤,那么就是另一個(gè)原因了,可以查看我下面解決Unsupported java的方案
解決方案
關(guān)閉android studio, 刪除項(xiàng)目中的.gradle文件夾,刪除項(xiàng)目中的.idea文件夾,(相當(dāng)于重新配置),然后再啟動(dòng)android studio就可以了

如果重啟后仍然有這個(gè)錯(cuò)誤,然后需要修改gradle JDK,

File->Setting->Build, Execution, Deployment->Build Tools->Gradle->Gradle projects->選擇一個(gè)jdk版本

問(wèn)題
Unsupported Java.

Your build is currently configured to use Java 17.0.6 and Gradle 5.6.4.

Possible solution:

  • Upgrade Gradle wrapper to 7.2 version and re-import the project

原因
java版本和Gradle版本不匹配,

解決方案
不建議點(diǎn)擊Possible solution, 升級(jí)gradle以后,經(jīng)常會(huì)導(dǎo)致其他問(wèn)題,所以可以選擇降級(jí)Java版本

File->Setting->Build, Execution, Deployment->Build Tools->Gradle->Gradle projects,選擇一個(gè)較低版本的Gradle JDK,

版本降低后需要同步gradle設(shè)置 File->Sync Project with Gradle Files(或者直接在工具欄同步)

如果降低一個(gè)版本以后還是不行,而且還多出一個(gè)錯(cuò)誤( Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:),那么就繼續(xù)降低,直到版本匹配

問(wèn)題37

Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-5.4.1-all.zip'. Reason: java.net.SocketTimeoutException: Connect timed out

解決方法:
在build.gradle

 mavenLocal()
         maven { url=uri ("https://jitpack.io") }
        maven { url=uri ("https://maven.aliyun.com/repository/releases") }
//        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url=uri ("https://maven.aliyun.com/repository/google") }
        maven { url=uri ("https://maven.aliyun.com/repository/central") }
        maven { url=uri ("https://maven.aliyun.com/repository/gradle-plugin") }
        maven { url=uri ("https://maven.aliyun.com/repository/public") }
        google()
        mavenCentral()

在gradle-wrapper.properties
改成:

distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-bin.zip

問(wèn)題38

解決Gradle報(bào)錯(cuò):Plugin [id: ‘com.android.application‘, version: ‘x.x.x‘, apply: false] was not found

添加maven鏡像源z

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容