Android 应用程序快捷方式在每次更新后消失,什么';我的舱单怎么了?

Android 应用程序快捷方式在每次更新后消失,什么';我的舱单怎么了?,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,我不知道为什么会这样,我什么都试过了。每次我更新应用程序时,主屏幕上以前的快捷方式都会消失 以下是我的完整应用程序清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.SpaceMonkey.Boats" android:versionCode="161" android:versio

我不知道为什么会这样,我什么都试过了。每次我更新应用程序时,主屏幕上以前的快捷方式都会消失

以下是我的完整应用程序清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.SpaceMonkey.Boats" android:versionCode="161" android:versionName="1.6.1">
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21" />
    <application android:label="Boats" android:icon="@drawable/playstore"></application>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
当我更新时,我唯一更改的是清单中的versionCode和versionName,其他内容绝对不会更改

我做错了什么

编辑:我开始认为Xamarin在后台生成一个新的应用程序清单是个问题,我不知道如何检查


编辑:我刚刚测试了一个不使用Xamarin.Forms的Android(Xamarin)应用程序,它没有这个问题。我的怀疑证实了它与Xamarin.Forms有关。

问题是Xamarin Studio。我基本上重新创建了解决方案并复制了所有内容,然后问题消失了


我不知道发生了什么,但现在已经解决了。

在我的案例中,问题是由更改我的Android应用程序项目的
AssemblyInfo.cs
AssemblyVersion
引发的

这个问题是由Xamarin.android5.0和更高版本(不是由Xamarin.Forms)引起的。如前所述:

在5.0版本中,Android的默认包名是可调用的 包装将基于合格组件的MD5总和 要导出的类型的名称

AssemblyVersion
程序集限定名的一部分,任何版本更改都会创建一个新的MD5哈希,从而创建一个新的默认包名。(阅读更多关于

应用程序快捷方式使用默认程序包名称启动应用程序,因此每次更新都会使快捷方式无效,系统会将其删除


修复:不要更改Android项目中的
AssemblyVersion
,也不要更改任何更改程序集限定名称的内容

你说的“更新”是什么意思?从应用商店下载到设备上,或者每次以调试模式或其他方式启动时?更改应用程序版本并发布更新。因此,从play store或任何新版本的安装中,我不是在谈论调试。您的版本控制是否向您显示了区别?我也遇到了同样的问题我也尝试过创建一个新项目,但是如果您更改
组装版本
(如我在这里的回答中所解释的:),问题仍然会发生
[Activity (Label = "Boats", Icon = "@drawable/playstore", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity