Uno Platform Android 版本无法 运行

Uno Platform Android versions fails to run

我已经启动了一个测试应用程序来测试 TabBar 以替换我的 bottomNavigationBar,因为它在 Uno.Material 中不再可用。我制作了一个简单的应用程序,运行s 在 Android、IOS 和 UWP 上没有问题。当我在 Material 中添加代码时,它 运行 在 UWP 和 IOS 上没问题。然而,当我 运行 它在 Android 上时,它会构建和部署而不是 运行。我还需要做些什么才能在 Android 上获得它 运行 吗?注意:我按照说明安装了 Xamarin.AndroidX.AppCompat 和 Xamarin.AndroidX.LifeCycle.LiveData。我收到以下错误:

System.InvalidOperationException Message=Failed to load unoMaterialSample2.MainPage: System.MissingMethodException: Method not found: void Windows.UI.Xaml.UIElement.set_Name(string)

这是我的 App.Xaml:

<Application
    x:Class="unoMaterialSample2.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:unoMaterialSample2">
    
    
                <!-- Place resources here -->
                <Application.Resources>
                    <ResourceDictionary>
                        <ResourceDictionary.MergedDictionaries>
                            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
                            <!-- Place resources here -->
                            <ToolkitResources xmlns="using:Uno.Toolkit.UI" />

                            <MaterialColors xmlns="using:Uno.Material" 
                                            OverrideSource="ms-appx:///Design/ColorPaletteOverride.xaml" />
                            <MaterialResources xmlns="using:Uno.Material" />

                            <MaterialToolkitColors xmlns="using:Uno.Toolkit.UI.Material" 
                                                   OverrideSource="ms-appx:///Design/ColorPaletteOverride.xaml" />
                            <MaterialToolkitResources xmlns="using:Uno.Toolkit.UI.Material" />

                        </ResourceDictionary.MergedDictionaries>
                    </ResourceDictionary>
                </Application.Resources>
           

</Application>

MainPage.Xaml:


<Page
    x:Class="unoMaterialSample2.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:unoMaterialSample2"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:toolkit="using:Uno.UI.Toolkit"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid toolkit:VisibleBoundsPadding.PaddingMask="All">
        <Grid.RowDefinitions>
            <RowDefinition Height="70*"/>
            <RowDefinition Height="470*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <TextBlock x:Name="testText" Grid.Row="0" Text="Hello, world!" Margin="20" FontSize="30" />
        <Button Grid.Row="1" Content="Example" Style="{StaticResource MaterialContainedButtonStyle}" Click="bClick" />
        <utu:TabBar Grid.Row="2" Style="{StaticResource MaterialBottomTabBarStyle}"
            xmlns:utu="using:Uno.Toolkit.UI">
            <utu:TabBar.Items>
                <utu:TabBarItem Content="Home">
                    <utu:TabBarItem.Icon>
                        <FontIcon Glyph="" />
                    </utu:TabBarItem.Icon>
                </utu:TabBarItem>
                <utu:TabBarItem Content="Support">
                    <utu:TabBarItem.Icon>
                        <FontIcon Glyph="" />
                    </utu:TabBarItem.Icon>
                </utu:TabBarItem>
                <utu:TabBarItem Content="About">
                    <utu:TabBarItem.Icon>
                        <FontIcon Glyph="" />
                    </utu:TabBarItem.Icon>
                </utu:TabBarItem>
            </utu:TabBar.Items>
        </utu:TabBar>
    </Grid>
</Page>

所以 - 如果其他人遇到此问题,这就是我最终解决问题的方法。我一直在忽略 visual studio 警告,即 Google Play 指示您至少需要使用 Android 11 进行编译。一旦我在 Android 项目属性中切换它 - 瞧 - 它已编译,现在按预期工作。