Я обновил свое приложение для поддержки SDK 26, и теперь Google Analytics вызывает сбои при работе на Android Oreo:
Fatal Exception: java.lang.RuntimeException: невозможно запустить приемник com.google.android.gms.analytics.AnalyticsReceiver: java.lang.IllegalStateException: не разрешено запускать сервис Intent { акт = com.google.android.gms.analytics.ANALYTICS_DISPATCH CMP = com.example.android/com.google.android.gms.analytics.AnalyticsService }: приложение находится в фоновом режиме uidRecord {3f302e5 u0a107 RCVR бездействует: 1 сл (0,0,0)} at android.app.ActivityThread.handleReceiver(ActivityThread.java:3259) at android.app.ActivityThread.-wrap17 (Неизвестный источник) at android.app.ActivityThread $H.handleMessage(ActivityThread.java:1677) на android.os.Handler.dispatchMessage(Handler.java:105) на android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) в java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote $MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Вызывается java.lang.IllegalStateException: не разрешается запускать сервис Намерение { акт = com.google.android.gms.analytics.ANALYTICS_DISPATCH CMP = com.example.android/com.google.android.gms.analytics.AnalyticsService }: приложение находится в фоновом режиме uidRecord {3f302e5 u0a107 RCVR бездействует: 1 сл (0,0,0)} at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1505) в android.app.ContextImpl.startService(ContextImpl.java:1461) в android.content.ContextWrapper.startService(ContextWrapper.java:644) в android.content.ContextWrapper.startService(ContextWrapper.java:644) at com.google.android.gms.internal.zzaot.onReceive(Неизвестный источник: 68) at com.google.android.gms.analytics.AnalyticsReceiver.onReceive(Неизвестно Источник: 11) at android.app.ActivityThread.handleReceiver(ActivityThread.java:3252) at android.app.ActivityThread.-wrap17 (Неизвестный источник) at android.app.ActivityThread $H.handleMessage(ActivityThread.java:1677) на android.os.Handler.dispatchMessage(Handler.java:105) на android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) в java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote $MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Это мой соответствующий манифест:
<meta-data
android:name="com.google.android.gms.analytics.globalConfigResource"
android:resource="@xml/analytics"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
dispatching on non-Google Play devices -->
<receiver
android:name="com.google.android.gms.analytics.AnalyticsReceiver"
android:enabled="true">
<intent-filter>
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH"/>
</intent-filter>
</receiver>
<service
android:name="com.google.android.gms.analytics.AnalyticsService"
android:enabled="true"
android:exported="false"/>
<!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable
installation campaign reporting -->
<receiver
android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>
<service
android:name="com.google.android.gms.analytics.CampaignTrackingService"
android:exported="true"/>
Из-за этого из-за этого сотни устройств Oreo рушились за последние 24 часа. Кажется, это влияет только на установку. Я попытаюсь добавить android: permission = "android.permission.BIND_JOB_SERVICE" в 2 службы аналитики и посмотреть. Отчитается.
Буду рад предоставить дополнительную информацию, если потребуется. Благодаря