【问题标题】:Unexpected element <activity> found in <manifest> while using Google Admob使用 Google Admob 时在 <manifest> 中发现意外元素 <activity>
【发布时间】:2020-04-06 22:58:44
【问题描述】:

我正在尝试在 Xamarin.Forms 应用程序中实现 Google Admob,但在 Xamarin.Forms 基类库中添加活动并在应用程序的 android 部分中实现它后,我在 AndroidManifest.xml 中收到以下错误文件an unexpected element &lt;activity&gt; found in &lt;manifest&gt;. 我试图将它移到&lt;application&gt; 元素内,但是当再次运行程序时,它会自动移出该元素。在这一点上,我不知道该怎么办。任何帮助是极大的赞赏。

编辑:根据 Bokens 的要求,我创建了一个要点:https://gist.github.com/leodk2/f7570d0c61867e3d177706a27a7ed317

编辑:我应该提到清单文件是一个自动生成的文件。

【问题讨论】:

标签: c# android xamarin xamarin.forms


【解决方案1】:

在您的清单文件中,您有两个活动

<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />

在你的&lt;application&gt;,尝试删除&lt;application&gt;之外的那个

更新(如果您使用 Xamarin.Android 10.0):

尝试将特定项目从AAPT2切换回AAPT,勾选并重新取消勾选Visual Studio项目属性页中的使用增量打包系统(aapt2)设置,或在您的.csproj 文件中手动将$(AndroidUseAapt2) MSBuild 属性设置为false

<PropertyGroup>
  <AndroidUseAapt2>false</AndroidUseAapt2>
</PropertyGroup>

【讨论】:

  • 我尝试删除元素,但是当我运行程序时,它又会再次生成。为了完整起见,我也尝试删除它们,但这也没有帮助。
  • @LeoRønsholtMikkelsen 您的设备版本是什么? Android 10.0 ?检查以上更新
  • 我在 Visual Studio 内置模拟器上使用 Android 8.1,该项目针对的是 Android 10。此外,当我从 AAPT2 切换到 AAPT 时,我遇到了一些其他错误,但没有其他活动。
  • @LeoRønsholtMikkelsen 有什么错误? an unexpected element &lt;activity&gt; found in &lt;manifest&gt; 会被抛出错误吗?
【解决方案2】:

正如here 所讨论的,活动需要出现在应用程序元素内。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2022-01-24
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 2021-03-15
    • 2020-11-08
    相关资源
    最近更新 更多