SDK 26をサポートするようにアプリをアップグレードしましたが、Android Oreo:
致命的な例外:Java.lang.RuntimeException:レシーバーcom.google.Android.gms.analytics.AnalyticsReceiver:Java.lang.IllegalStateException:サービスインテント{act = com.google.Android.gms.analytics。 ANALYTICS_DISPATCH cmp = com.example.Android/com.google.Android.gms.analytics.AnalyticsService}:アプリはAndroid.appのバックグラウンドuid UidRecord {3f302e5 u0a107 RCVRアイドルprocs:1 seq(0,0,0)}にあります。 Android.os.Handler.dispatchMessage(HandlerのAndroid.app.ActivityThread.-wrap17(Unknown Source)のAndroid.app.ActivityThread $ H.handleMessage(ActivityThread.Java:1677)のActivityThread.handleReceiver(ActivityThread.Java:3259) .Java:105)at Android.os.Looper.loop(Looper.Java:164)at Android.app.ActivityThread.main(ActivityThread.Java:6541)at Java.lang.reflect.Method.invoke(Method.Java) com.Android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.Java:240)at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:767)Java.lang.IllegalStateExceptionが原因:すべてではないサービスインテントを開始する必要があります{act = com.google.Android.gms.analytics.ANALYTICS_DISPATCH cmp = com.example.Android/com.google.Android.gms.analytics.AnalyticsService}:アプリはバックグラウンドuid UidRecord {3f302e5 u0a107 RCVRにありますAndroid.content.ContextWrapperのAndroid.app.ContextImpl.startService(ContextImpl.Java:1461)のAndroid.app.ContextImpl.startServiceCommon(ContextImpl.Java:1505)のidle procs:1 seq(0,0,0)}。 startService(ContextWrapper.Java:644)at Android.content.ContextWrapper.startService(ContextWrapper.Java:644)at com.google.Android.gms.internal.zzaot.onReceive(Unknown Source:68)at com.google.Android。 gms.analytics.AnalyticsReceiver.onReceive(Unknown Source:11)at Android.app.ActivityThread.handleReceiver(ActivityThread.Java:3252)at Android.app.ActivityThread.-wrap17(Unknown Source)at Android.app.ActivityThread $ H。 Android.os.Looper.loop(Looper.Java:164)のAndroid.os.Handler.dispatchMessage(Handler.Java:105)のhandleMessage(ActivityThread.Java:1677)Android.app.ActivityThread.mのain(ActivityThread.Java:6541)at 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"/>
このため、過去24時間に何百ものOreoデバイスがクラッシュしました。インストール時にのみ影響しているようです。 Android:permission = "Android.permission.BIND_JOB_SERVICE"を2つの分析サービスに追加して見てみましょう。報告します。
必要に応じて、さらに詳しい情報を提供させていただきます。ありがとう
Play-servicesバージョン11.4.0にアップグレードすることをお勧めします。これをGradleファイルに追加します。
_compile "com.google.Android.gms:play-services-analytics:11.4.0
_
Play Services Revision 11.4. の分析セクションから:
AnalyticsJobService
を追加しました。このクラスはAndroid Oの互換性サポートを提供し、データをアップロードするためにAnalyticsによって使用されます。このクラスを使用するためにアクションは必要ありません。Analyticsパッケージの一部として自動的に追加されます。AnalyticsService
クラスのgetContext()
メソッドは廃止されました。CampaignTrackingService
クラスは非推奨になりました。また、許可を得る必要があります。 Android:permission = "Android.permission.BIND_JOB_SERVICE"
以下を参照 https://developers.google.com/Android/reference/com/google/Android/gms/analytics/AnalyticsJobService
CampaignTrackingService
が廃止されたため
マニフェストからこの行を削除するだけです
<service Android:name="com.google.Android.gms.analytics.CampaignTrackingService"
Android:exported="true"/>