当前位置: 首页 > 知识库问答 >
问题:

谷歌Analytics服务Intent在Android Oreo上崩溃

卢志行
2023-03-14

我已经升级了我的应用程序以支持SDK26,现在Google Analytics在Android Oreo上运行时会导致崩溃:

致命异常:java.lang.RuntimeException:无法启动接收方com.google.android.gms.analytics.analyticsReceiver:java.lang.IllegalStateException:不允许启动服务意图{act=com.google.android.gms.analytics_dispatch cmp=com.example.android/com.google.android.gms.analytics.analyticsService}:应用程序在后台uid UidRecord{3f302e5 u0a107 RCVR idle procs:1 seq(0,0,0)}应启动服务意图{act=com.google.android.gms.analytics.analytics_dispatch cmp=com.example.android/com.google.android.gms.analytics.analyticsService}:应用程序在后台uid UidRecord{3f302e5 u0a107 RCVR idle procs:1 seq(0,0,0)}在Android.app.contextimpl.startServiceCommon(contextimpl.java:1505)在Android.app.contextimpl.startService(ain(ActivityThread.java:6541)在java.lang.Reflect.Method.Invoke(Method.java)在com.android.internal.os.zygote$MethodAndargscaller.run(zygote.java:240)在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小时内有数百台奥利奥设备因此而崩溃。似乎只影响安装。我将尝试将android:permission=“android.permission.bind_job_service”添加到2个analytics服务中,请参阅。将报告。

如果需要的话,我很乐意提供更多的信息。谢谢

共有1个答案

怀宇
2023-03-14

我建议升级到play-services 11.4.0版本。在您的分级文件中添加以下内容:

compile "com.google.android.gms:play-services-analytics:11.4.0

参见Play Services修订版11.4.0的“分析”部分:

  • 添加了一个新类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

 类似资料:
  • 我们有一个要求,我们应该提供能力上传文件多达100 GB的大小。当前的流程是将文件从客户端位置/本地系统放到应用服务器。然后,应用服务器将文件推送到Google Drive server中的服务帐户。我想知道是否有办法将文件从本地系统直接推送到Google Drive中的服务帐户。这将帮助我们不必在应用服务器中存储如此大的文件。有人对此有什么建议吗?

  • 我对谷歌地图方向服务(api v3)有一个问题。我不知道如何指定起始和目标字符串。例如,对于请求: http://maps.googleapis.com/maps/api/js?sensor=false 或者 http://maps.googleapis.com/maps/api/directions/xml?sensor=false 服务器的响应为:未找到,即未找到路由, 但是,如果我将字符¨改

  • 我正在使用Google GCM服务开发一个应用程序,它似乎在Launch的所有Lollipop前设备上都崩溃了...我遵循了谷歌教程...以及它在Lollipop和Marshmallow上的工作 以下是我的项目级依赖项 我的应用程序级gradle文件中有此项 还有这个 我还设置了android清单。。以及相应的服务类别,并在Marshmallow设备上接收GCM。 我有这个错误。

  • 我正在使用一个服务帐户访问我们的域名用户的谷歌驱动器,这工作像一个魅力!然而,我现在正在尝试使用相同的服务帐户获得用户的activity在谷歌驱动器。 我已授予服务帐户API访问https://www.googleapis.com/auth/activity和https://www.googleapis.com/auth/drive的权限 并启用API! 然而我总是得到错误403,禁止! 可能需要