Xamarin 不同配置的应用程序图标

Xamarin 不同配置的应用程序图标,xamarin,xamarin.forms,xamarin.android,Xamarin,Xamarin.forms,Xamarin.android,对于我的应用程序,我希望有两个不同的版本(live和dev)。将使用不同的生成配置生成该版本 我想要实现的是,根据我使用的版本/构建配置,在设备上显示不同的应用程序图标。 我已经搜索了解决方案,但只找到了一些使用不同清单/csproj的建议,但我不能采用这种方法 那么,有没有其他方法可以根据配置设置不同的图标?最好的办法是从清单中删除图标配置,并将其添加到MainActivity中 它将如下所示: using Android.App; using Android.Content.PM; usin

对于我的应用程序,我希望有两个不同的版本(live和dev)。将使用不同的生成配置生成该版本

我想要实现的是,根据我使用的版本/构建配置,在设备上显示不同的应用程序图标。 我已经搜索了解决方案,但只找到了一些使用不同清单/csproj的建议,但我不能采用这种方法


那么,有没有其他方法可以根据配置设置不同的图标?

最好的办法是从清单中删除图标配置,并将其添加到MainActivity中

它将如下所示:

using Android.App;
using Android.Content.PM;
using Android.OS;
using Microsoft.Practices.Unity;
using Prism.Unity;

namespace BlankApp2.Droid
{

#if DEBUG
    [Activity(Label = "Debug BlankApp2", Icon = "@drawable/debugIcon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
#else
    [Activity(Label = "Prod BlankApp2", Icon = "@drawable/prodIcon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
#endif
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App(new AndroidInitializer()));
        }
    }

    public class AndroidInitializer : IPlatformInitializer
    {
        public void RegisterTypes(IUnityContainer container)
        {
            // Register any platform specific implementations
        }
    }
}

Android
Icon
/
RoundIcon
是清单条目,无法绕过它,您可以#if/#else将其放在代码中,并在编译时提供MSBuild属性。