某些用户无法安装/更新Android App(Xamarin)

时间:2019-08-13 06:42:18

标签: android xamarin xamarin.forms xamarin.android google-play

我们公司正在Xamarin.Forms(3.5.0)框架中开发Android应用。从现在开始,所有用户都可以毫无问题地从Google Play商店更新应用程序。新更新后,其中一些收到Google Play错误“无法安装应用”。像这样的https://i.ytimg.com/vi/XOAgJz2vQu4/hqdefault.jpg,但没有错误代码。仅某些用户(大约80%的用户已经更新到最新版本)会出现此问题。他们已经尝试删除Google Play缓存以及针对此问题的其他解决方案。我们没有更改最低和目标SDK。我们添加/更改了:

  • 支持64位设备(在Xamarin构建设置中添加了arm64-v8a,因此现在APK包含lib/armeabi-v7a和新文件夹lib/arm64-v8a
  • 添加了networkSecurityConfig以支持我们的自签名SSL证书
  • launchMode设置为singleTask
  • 添加提供者com.crashlytics.android.CrashlyticsInitProvidercom.crashlytics.android.CrashlyticsInitProvider
  • 添加具有权限com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver的接收者android.permission.INSTALL_PACKAGES
  • 以权限com.google.android.gms.measurement.AppMeasurementService添加服务com.google.android.gms.measurement.AppMeasurementJobServiceandroid.permission.BIND_JOB_SERVICE

我认为问题不在我们的应用程序包中或我们进行的更改中。例如,一个用户的Samsung Note 9出现了此问题,但Google Play控制台中的统计信息表明,该设备从1.0.1版更新到1.1.1版的更新在118台设备中均已成功。其他设备也是如此。像99%的设备已成功更新,但其中一些安装或更新失败。

您可以为这个问题提供一些帮助和解决方案吗?我们甚至无法在设备中重现此错误,因为每个更新,删除和安装过程都可以正常进行。它适用于32位设备,适用于64位设备,适用于用户遇到问题的设备和Android OS版本。我们没有收到任何错误消息或日志,因为Google Play中存在错误。我们获得了许多1星评论,希望为我们的用户提供帮助,但我们无法...

谢谢!

1 个答案:

答案 0 :(得分:1)

问题出在将Crashlytics集成到Xamarin.Forms应用程序中。在还原了集成Crashlytics和发布新版本时所做的所有更改之后,人们现在可以成功地安装和更新应用程序。为了确认这一点,我从头开始创建了新的测试应用程序,添加了所有nuget程序包,启用了Crashlytics功能并安装在模拟器上。之后,我尝试安装以前的应用程序版本,其中包含Crashlytics。当我尝试使用adb安装时出现错误:

adb: failed to install temp\our.app.package.name.apk: Failure [INSTALL_FAILED_CONFLICTING_PROVIDER: Package couldn't be installed in /data/app/our.app.package.name--xtUfCuOL6yxO3kB0Ev4tQ==: 
Can't install because provider name dollar_openBracket_applicationId_closeBracket (in package our.app.package.name) is already used by com.companyname.TestApplication]

我们现在将使用App Center故障报告系统,因为集成非常简单(大约需要20分钟),并且没有诸如此类的副作用。