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