某些用户无法安装/更新Android App(Xamarin) [英] Android App can't be installed/updated for some users (Xamarin)

查看:217
本文介绍了某些用户无法安装/更新Android App(Xamarin)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Our company is developing Android app in Xamarin.Forms (3.5.0) framework. Since now all users were able to update application from Google Play store without problems. After new update some of them got Google Play error "Can't install app". Like this one https://i.ytimg.com/vi/XOAgJz2vQu4/hqdefault.jpg but without error code. This problem occurs only for some users (about 80% users already updated to newest version). They already tried deleting Google Play cache and other solutions to this problem. We did not change any of min and target SDK. We added/changed:

  • 支持64位设备(在Xamarin构建设置中添加了arm64-v8a,因此现在APK包含lib/armeabi-v7a和新文件夹lib/arm64-v8a)
  • 添加了networkSecurityConfig以支持我们的自签名SSL证书
  • launchMode设置为singleTask
  • 添加提供程序com.crashlytics.android.CrashlyticsInitProvidercom.crashlytics.android.CrashlyticsInitProvider
  • 添加具有权限android.permission.INSTALL_PACKAGES
  • 的接收方com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver
  • 添加具有权限android.permission.BIND_JOB_SERVICE
  • 的服务com.google.android.gms.measurement.AppMeasurementServicecom.google.android.gms.measurement.AppMeasurementJobService
  • Support for 64 bit devices (added arm64-v8a in Xamarin build settings so now APK containts lib/armeabi-v7a and new folder lib/arm64-v8a)
  • added networkSecurityConfig to support our self signed SSL certificate
  • launchMode set to singleTask
  • add providers com.crashlytics.android.CrashlyticsInitProvider and com.crashlytics.android.CrashlyticsInitProvider
  • add receiver com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver with permission android.permission.INSTALL_PACKAGES
  • add services com.google.android.gms.measurement.AppMeasurementService and com.google.android.gms.measurement.AppMeasurementJobService with permission android.permission.BIND_JOB_SERVICE

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

I don't think the problem is in our application package or in changes we made. For instance one user has this problem with Samsung Note 9 but statistics in Google Play console indicates that updates for this device from version 1.0.1 to version 1.1.1 were successful in 118 devices. The same is with other devices. Like 99% devices are updated successfully but some of them install or update fails.

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

Can you provide some help and solutions to this problem? We can't even reproduce this error in our devices, because every update or delete & install procedure works without problems. It works on 32 bit devices, it works on 64 bit devices, it works on devices and Android OS versions that users have problems with. We don't get any of error messages or logs becuase error is in Google Play. We get many of 1 star reviews, want to help our users but we just can't...

谢谢!

推荐答案

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

The issue was with Crashlytics integration into Xamarin.Forms application. After reverting all changes made when integrating Crashlytics and releasing new version people can now install and update application successully. To confirm this I created new test application from scratch, added all nuget packages, enabled Crashlytics feature and install on emulator. After that I tried to install our previous application version, which contains Crashlytics. When I try to install with adb I got error:

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分钟),并且没有诸如此类的副作用.

We are going to use App Center crash report system now, becuase integrating is so simple (takes about 20 mins) and without side effects such as this.

这篇关于某些用户无法安装/更新Android App(Xamarin)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆