使用 maui Essentials 在 .Net7 Android 应用程序上接收 android 明显构建错误

问题描述 投票:0回答:1

我正在将现有应用程序从 Xamarin.Android 升级到 .Net7 Android,并在尝试使用 Maui Essentials 时遇到问题。在我的 .csproj 文件中,我包含了这两行

<UseMaui>True</UseMaui>
<UseMauiEssentials>True</UseMauiEssentials>

我还安装了 Xamarin Essentials,因为我在毛伊岛存在之前就使用过它。现在我收到与 android 清单相关的构建错误

/Project.Android/AndroidManifest.xml:错误 APT2260:找不到资源 xml/microsoft_maui_essentials_fileprovider_file_paths(又名 com.app.package:xml/microsoft_maui_essentials_fileprovider_file_paths)。 [/Project.Android.csproj]

/Project.Android/AndroidManifest.xml:错误 APT2260:找不到资源 xml/xamarin_essentials_fileprovider_file_paths(又名 com.app.package:xml/xamarin_essentials_fileprovider_file_paths)。 [/Project.Android.csproj]

似乎还有其他一些引用“xml/library_file_paths”和“integer/google_player_services_version”。我不确定这是否与毛伊岛有关,但这是第一次注意到这个问题。它可能更像是.Net7 的东西。目前正在 Mac 上使用 Visual Studio Code(如果有的话)。

android xamarin android-manifest .net-7.0
1个回答
0
投票

无需执行任何操作即可在 .NET MAUI 应用程序中使用

Xamarin.Essentials
, 除了删除对
Xamarin.Essentials
命名空间的引用之外, 因为 .NET MAUI 已经包含以下功能 Xamarin.Essentials.

因此,您可以尝试首先从 .NET Android 或 .NET iOS 应用程序中删除 Xamarin.Essentials NuGet 包。

然后通过调用 MainActivity 类中的 Platform.Init 方法来初始化“essentials”功能:

using Android.Content.PM;
using Android.Runtime;
using Microsoft.Maui.ApplicationModel;

namespace MyAndroidApp;

[Activity(Label = "@string/app_name", MainLauncher = true)]
public class MainActivity : Activity
{
    protected override async void OnCreate(Bundle? savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Platform.Init(this, savedInstanceState);
        // ...
    }
}

有关更多详细信息,您可以参考在.NET Android和.NET iOS应用程序中迁移Xamarin.Essentials代码

© www.soinside.com 2019 - 2024. All rights reserved.