Android Studio Arctic Fox更新后构建失败

4

Android Studio已更新至最新的 Arctic Fox 版本,打开项目后它提示我更新Gradle插件,我已经进行了更新。

现在,每次我尝试运行一个应用程序(使用更新后的插件),构建都会失败,并显示以下输出:Zip file '/home/user/path-to-my-project/app/build/outputs/apk/debug/app-debug.apk' already contains entry 'AndroidManifest.xml', cannot overwrite

未更新到最新插件版本的旧应用程序没有这个问题。

我已经尝试了此解决方法,但没有帮助。

我的build.gradle文件如下:

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdk 30

    defaultConfig {
        applicationId "com.user.oauthpractice"
        minSdk 27
        targetSdk 30
        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_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.6.0'
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

    implementation 'com.foursquare:foursquare-android-oauth:1.0.3'
}

那么,删除那个 app-debug.apk 文件怎么样? - AIMIN PAN
@Jay 确定了,已经更新了问题并附上了 build.gradle 文件。 - jotaro-gogogo
@RafaelMorgado 你找到任何解决方案了吗? - Rajpal
@Rajpal 我刚刚第三次尝试创建了一个新项目,它没有出现任何问题,我不确定另外两个项目的问题所在。 - jotaro-gogogo
1
@RafaelMorgado 创建新项目并没有帮助。不过我已经找到了问题所在。只有当我升级gradle版本时才会出现这个错误。 - AwaisMajeed
显示剩余6条评论
3个回答

2

我尝试了你的build.gradle文件,在删除implementation 'com.foursquare:foursquare-android-oauth:1.0.3'后,这个问题就解决了。不知道底层出了什么问题。只需要将版本升级到1.1.1即可摆脱这个问题。


3
有人找出了这个错误的原因吗?这个解决方案并不通用。虽然在我的项目中没有这个依赖,但我仍然遇到了这个错误。 - AwaisMajeed

0
在我的情况下(我将Gradle插件从3.6升级到7.1.1),我包含了一个库项目(旧版vending-licensing),并且通过以下方式排除清单文件(在android{}内):
packagingOptions {
  exclude 'AndroidManifest.xml'
}

0

将 Android Gradle 插件从版本 3.4.2 升级到 7.0.0(并将 Gradle 从 6 升级到 7)后,我也开始遇到同样的错误。在我的情况下,原来 AndroidManifest.xml 文件位于由 resources.srcDir 指向的目录中。Gradle 尝试将该目录中的 AndroidManifest.xml 复制到 APK 中,而已经打包了编译版本。


1
你有解决方案吗? - nowavewater

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接