当前位置: 首页 > 知识库问答 >
问题:

Android资源链接失败:Unity错误:在

邴修远
2023-03-14

我在使用Admob(适用于unity的谷歌移动广告SDK)和适用于unity的Facebook Audience Network SDK进行构建时遇到了这个错误。若我在项目中单独使用其中一个,那个么就不会出现错误,但若我同时使用这两个,那个么我在构建时就会出现这个错误。然而,我已经测试并可以确认,这个错误没有出现在Unity 2020版本中,但它出现在所有Unity 2018以及2019版本中。请帮我解决这个错误。

如果需要,我可以共享项目完整文件,但通过添加Admob unity SDK和Facebook audience network unity SDK并为Android平台构建项目,可以轻松复制该文件。

我正在使用:

  • Unity编辑器2018.4.30 LTS版本
  • Admob SDK(Google Mobile Ads SDK)5.4.0版
  • FAcebook Audience Network 6.2.0版
  • 脚本后端:IL2CPP
  • JDK: jdk1.8.0_271

Unity控制台错误详细信息:

CommandInvokationFailure: Gradle build failed. 
C:\Program Files\Java\jdk1.8.0_271\bin\java.exe -classpath "C:\Program Files\UnityInstallFolder\Unity_2018.4.30\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processReleaseResources'.
> Android resource linking failed
  D:\Projects\ADS Packages\ReportingProjectSample\Temp\gradleOut\build\intermediates\merged_manifests\release\AndroidManifest.xml:36: AAPT: error: unexpected element <queries> found in <manifest>.
      

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s
]
stdout[
> Task :preBuild UP-TO-DATE
> Task :GoogleMobileAdsPlugin.androidlib:preBuild UP-TO-DATE
> Task :GoogleMobileAdsPlugin.androidlib:preReleaseBuild UP-TO-DATE
> Task :GoogleMobileAdsPlugin.androidlib:checkReleaseManifest
> Task :GoogleMobileAdsPlugin.androidlib:processReleaseManifest
> Task :preReleaseBuild UP-TO-DATE
> Task :GoogleMobileAdsPlugin.androidlib:compileReleaseAidl NO-SOURCE
> Task :compileReleaseAidl NO-SOURCE
> Task :GoogleMobileAdsPlugin.androidlib:packageReleaseRenderscript NO-SOURCE
> Task :compileReleaseRenderscript NO-SOURCE
> Task :checkReleaseManifest UP-TO-DATE
> Task :generateReleaseBuildConfig UP-TO-DATE
> Task :prepareLintJar UP-TO-DATE
> Task :generateReleaseSources UP-TO-DATE
> Task :GoogleMobileAdsPlugin.androidlib:compileReleaseRenderscript NO-SOURCE
> Task :GoogleMobileAdsPlugin.androidlib:generateReleaseBuildConfig
> Task :GoogleMobileAdsPlugin.androidlib:generateReleaseResValues
> Task :GoogleMobileAdsPlugin.androidlib:generateReleaseResources
> Task :GoogleMobileAdsPlugin.androidlib:packageReleaseResources
> Task :GoogleMobileAdsPlugin.androidlib:generateReleaseRFile
> Task :GoogleMobileAdsPlugin.androidlib:prepareLintJar UP-TO-DATE
> Task :GoogleMobileAdsPlugin.androidlib:generateReleaseSources
> Task :GoogleMobileAdsPlugin.androidlib:javaPreCompileRelease
> Task :GoogleMobileAdsPlugin.androidlib:compileReleaseJavaWithJavac
> Task :GoogleMobileAdsPlugin.androidlib:bundleLibCompileRelease
> Task :javaPreCompileRelease UP-TO-DATE
> Task :mainApkListPersistenceRelease UP-TO-DATE
> Task :generateReleaseResValues UP-TO-DATE
> Task :generateReleaseResources UP-TO-DATE
> Task :mergeReleaseResources
> Task :createReleaseCompatibleScreenManifests
> Task :processReleaseManifest
> Task :processReleaseResources FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
21 actionable tasks: 13 executed, 8 up-to-date
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <267278aa48b840c7a0e7281223ea050e>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <267278aa48b840c7a0e7281223ea050e>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <267278aa48b840c7a0e7281223ea050e>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:288)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

错误图像1

错误图像细节2

错误图像详细信息3

错误图像详细信息4

共有3个答案

曾嘉荣
2023-03-14

我也有同样的问题,在谷歌上搜索了一个多星期都没有找到解决方案。解决方案实际上太简单了,您必须启用Launcher Gradle模板并编辑unity将生成的文件,添加:

configurations.all {
  resolutionStrategy {
    force 'androidx.core:core:1.6.0'
    force 'androidx.core:core-ktx:1.6.0'
  }
}
缪晋
2023-03-14

>

转到生成设置

转到首选项

转到项目设置

编辑生成的文件Asset/Plugins/Android/main Template.gradle,并根据您使用的Gradle版本将依赖项com.android.tools.build: gradle设置为3.6.0或更高版本。

js prettyprint-override">buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.0'
    }
}

我希望,这将解决你的问题。

南门茂才
2023-03-14

你得到的错误是因为自从Android 11之后,谷歌改变了软件包的可见性。您可以在这里了解更多信息:包可见性。

由于Unity使用的gradle版本不支持新添加的

您有两种可能的解决方案:

  1. 在Unity内部将您的目标API级别值从播放器设置更改为使用Android 10(API级别29)。通过这种方式,你将能够直接从内部统一构建

 类似资料:
  • 所以一切都很顺利,当我去编辑一些.xml文件并构建项目时,现在我得到了一个gradle错误,上面写着: Android资源链接失败输出:H:\ Android projects \ codicy \ app \ src \ main \ RES \ layout \ activity _ app _ setup . XML:19:错误:找不到资源drawable/toolbarbackground

  • 我检查了XML文件的本地历史记录,并再次检查了清单文件,没有发现任何错误。 命令:c:\users\lucif.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\c9d8fd27aeabc6968bb2cb43f288855c\aapt2-3.2.1-4818971-windows\AAPT2.exe链接

  • 这是更新IDE后出现的错误 Android资源链接失败i:\Android\AndriodStudioProjects\MedicalApp\App\Build\Intermediates\Incremental\MergedebugResources\Merged.dir\values-v28\values-v28.xml:7:错误:找不到资源Android:attr/DialogCornerR

  • 我们正在构建一个android项目,当我们试图构建该项目时,我们得到了android资源构建失败 由于奇怪的原因,它指向一个不是我们项目的一部分的文件,该文件位于 C:\location.gradle\caches\transforms-2\files-2.1\87cdecd973dcf2cf22fdc9f513d1a506\roundkornerlayouts-0.4.0\res\values\

  • 我所有的绘图都很好,它们没有任何错误,就像我的XML文件一样。我试图使缓存无效并重建请帮助我也检查了我的代码,但没有错误

  • .../... /AndroidStudioProjects/xxxxx/caches/transforms-2/files-2.1/85d86ad1681edc5ad46b44e92265cc70/core-1.7.0/res/values/values.xml C:\用户\srini\AndroidStudioProjects\xxxxx\缓存\变换-2\文件-2.1\85d86ad1681e