我有一个使用 Xamarin.Forms 版本 2.3.4.270 的基于 PCL 的 Xamarin Forms 解决方案。
在 Visual Studio 2017 中构建 Xamarin android 项目时,在 android 项目自动生成的“...\obj\Debug\android\AndroidManifest.xml”文件中,添加了一个神秘的活动,导致在运行时部署两个应用程序图标手机上的应用程序:
<activity android:name="md54d0b3c92dfecf2a187a4c8b660786aba.MainActivityForCodeAnalysisBugWorkaroundPleaseIgnore">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
我确保整个解决方案中的任何项目都没有标记为“在构建时启用代码分析”,并且我只有一个主要活动为“MainLauncher = true”...
启动第一个应用程序图标时,只显示一个空白的空视图。启动第二个应用程序图标时,将启动真正的应用程序。
如何摆脱android上的附加应用程序图标?
编辑:这是主要活动:
[Activity(Label = "@string/app_name", Theme = "@style/MyTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
Run Code Online (Sandbox Code Playgroud)
这是 SplashScreen-Activity 与MainLauncher=true:
[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true)]
public class SplashActivity : AppCompatActivity
Run Code Online (Sandbox Code Playgroud)
我已经在其他各种 xamarin.forms 应用程序中使用了这种方法,但没有出现任何问题。
这是清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest …Run Code Online (Sandbox Code Playgroud)