Xamarin Forms 错误 APT1000:在需要项的位置找到标签 ID (Android)
Xamarin Forms Error APT1000: Found tag id where item is expected (Android)
我正在尝试使用 Google 广告包 MarcTron.AdMob
。
安装后,我需要安装一些依赖项并更新一些包,正如它告诉我的那样:
Xamarin.AndroidX.Browser
Xamarin.Google.Android.Material
Xamarin.AndroidX.Lifecycle.LiveData
Xamarin.AndroidX.Legacy.Support.V4
但是在我 install/update 所有这些依赖项之后,我再次编译并得到错误:
2>myproject.Android\obj\Debug0\lp1\jl\res\values\values.xml(1482): error APT1000: Attribute "android:translationX" has already been defined
2>myproject.Android\obj\Debug0\lp1\jl\res\values\values.xml(1486): error APT1000: Attribute "android:translationY" has already been defined
2>myproject.Android\obj\Debug0\lp1\jl\res\values\values.xml(1489): error APT1000: Attribute "android:translationZ" has already been defined
2>myproject.Android\obj\Debug0\lp\jl\res\values\values.xml(4): error APT1000: Found tag id where item is expected
2>myproject.Android\obj\Debug0\lp\jl\res\values\values.xml(4): error APT1000: Found tag id where item is expected
2>myproject.Android\obj\Debug0\lp\jl\res\values\values.xml(4): error APT1000: Found tag id where item is expected
我已经做了:
- 清理项目并重新编译;
- 遵循此解决方案here;
- 删除了资源中
colors.xml
和 styles.xml
的空格(这是我看到的另一个解决方案);
- 更改 API 级别(28 - 9.0 和 29 - 10.0)。
- 降级软件包。
没有任何效果。
我尝试使用 Xamarin.Firebase.Ads
而不是 MarcTron.AdsMob
,但我还是出现了同样的错误。
这是什么错误,我该如何解决?我确实需要在应用程序上投放广告,但出现此错误无法继续该项目。
我在使用迁移到 AndroidX 时遇到了类似的问题 运行。我所做的修复是我检查并发现一些 Android Nuget 包没有迁移到 AndroidX。所以您可能缺少一些 AndroidX Nuget 包。添加其中一些并查看它是否构建。
解决方案是创建一个空白项目和 copy/paste 我所有的 类、文件夹、资源...
我真的很想解决这个问题,因为在几个网站上都有和我一样的问题,所以帮助社区是件好事。目前,解决方案是。
编辑:
好的女士们先生们,我发现了这个奇怪的错误:只有我的文件夹,我的项目文件夹有一个重音符号:“ó”。就是这样。
在我的例子中,在项目属性的 Android 选项中选中“使用增量 Android 打包系统 (aapt2)” 解决了这个问题。
我正在尝试使用 Google 广告包 MarcTron.AdMob
。
安装后,我需要安装一些依赖项并更新一些包,正如它告诉我的那样:
Xamarin.AndroidX.Browser
Xamarin.Google.Android.Material
Xamarin.AndroidX.Lifecycle.LiveData
Xamarin.AndroidX.Legacy.Support.V4
但是在我 install/update 所有这些依赖项之后,我再次编译并得到错误:
2>myproject.Android\obj\Debug0\lp1\jl\res\values\values.xml(1482): error APT1000: Attribute "android:translationX" has already been defined
2>myproject.Android\obj\Debug0\lp1\jl\res\values\values.xml(1486): error APT1000: Attribute "android:translationY" has already been defined
2>myproject.Android\obj\Debug0\lp1\jl\res\values\values.xml(1489): error APT1000: Attribute "android:translationZ" has already been defined
2>myproject.Android\obj\Debug0\lp\jl\res\values\values.xml(4): error APT1000: Found tag id where item is expected
2>myproject.Android\obj\Debug0\lp\jl\res\values\values.xml(4): error APT1000: Found tag id where item is expected
2>myproject.Android\obj\Debug0\lp\jl\res\values\values.xml(4): error APT1000: Found tag id where item is expected
我已经做了:
- 清理项目并重新编译;
- 遵循此解决方案here;
- 删除了资源中
colors.xml
和styles.xml
的空格(这是我看到的另一个解决方案); - 更改 API 级别(28 - 9.0 和 29 - 10.0)。
- 降级软件包。
没有任何效果。
我尝试使用 Xamarin.Firebase.Ads
而不是 MarcTron.AdsMob
,但我还是出现了同样的错误。
这是什么错误,我该如何解决?我确实需要在应用程序上投放广告,但出现此错误无法继续该项目。
我在使用迁移到 AndroidX 时遇到了类似的问题 运行。我所做的修复是我检查并发现一些 Android Nuget 包没有迁移到 AndroidX。所以您可能缺少一些 AndroidX Nuget 包。添加其中一些并查看它是否构建。
解决方案是创建一个空白项目和 copy/paste 我所有的 类、文件夹、资源...
我真的很想解决这个问题,因为在几个网站上都有和我一样的问题,所以帮助社区是件好事。目前,解决方案是。
编辑:
好的女士们先生们,我发现了这个奇怪的错误:只有我的文件夹,我的项目文件夹有一个重音符号:“ó”。就是这样。
在我的例子中,在项目属性的 Android 选项中选中“使用增量 Android 打包系统 (aapt2)” 解决了这个问题。