You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity升级至2022.3.50f1后Android Gradle构建失败求助

解决Unity 2022.3 Android构建Gradle错误

错误原因分析

你遇到的两个Gradle错误本质是Unity版本升级后,自定义build.gradle配置与新构建系统不兼容导致的:

  1. namespace()方法找不到:Unity 2022.3会通过Player Settings中的Package Name自动生成namespace配置,手动在build.gradle中添加该字段会与Gradle插件的配置逻辑冲突,尤其是AGP版本适配问题。
  2. compileSdkVersion未指定:手动在build.gradle中写的compileSdkVersion没有被Unity的Bee构建系统正确合并到生成的launcher模块配置中,导致Gradle无法识别。

解决方案

步骤1:修改build.gradle配置

移除冲突的配置项,调整后的build.gradle如下:

apply plugin: 'com.android.application'

dependencies {
    implementation project(':unityLibrary')
}

android {
    compileSdkVersion 35
    buildToolsVersion '34.0.0'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    defaultConfig {
        minSdkVersion 23
        targetSdkVersion 35
        applicationId 'com.SiberianWellness.WayToWellness'
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }
        versionCode 181
        versionName '3.20.5'
    }

    aaptOptions {
        noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ')
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
    }

    signingConfigs {
        release {
            storeFile file('/Users/honkhonk/MyWellnessStory/OtherFiles/ForAutoBuild/user.keystore')
            storePassword 'StoryWellnessMy2020'
            keyAlias 'publish'
            keyPassword 'StoryWellnessMy2020'
        }
    }

    lintOptions {
        abortOnError false
    }

    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt')
            signingConfig signingConfigs.release
            jniDebuggable true
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt')
            signingConfig signingConfigs.release
        }
    }

    packagingOptions {
        doNotStrip '*/armeabi-v7a/*.so'
        doNotStrip '*/arm64-v8a/*.so'
        jniLibs {
            useLegacyPackaging true
        }
    }

    bundle {
        language {
            enableSplit = false
        }
        density {
            enableSplit = false
        }
        abi {
            enableSplit = true
        }
    }
}

需要移除的项:

  • namespace "com.SiberianWellness.WayToWellness":由Unity自动生成
  • ndkPath "/Applications/Unity/Hub/Editor/2022.3.50f1/PlaybackEngines/AndroidPlayer/NDK":Unity会自动使用内置NDK路径

步骤2:通过Unity Player Settings统一配置API版本

打开Unity编辑器,进入Edit > Project Settings > Player > Android > Publishing Settings:

  • 设置Compile SDK Version为35
  • 设置Target SDK Version为35
  • 设置Min SDK Version为23

这样Unity会自动将这些配置注入到生成的Gradle文件中,避免手动配置的合并问题。

步骤3:清理构建缓存

删除项目根目录下的Library/Bee和Temp文件夹,重新执行构建,确保旧缓存不会干扰新配置。

内容的提问来源于stack exchange,提问作者Fandr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 03:17:32