【问题标题】:How to fix following analytics crash in my android app?如何修复我的 android 应用程序中的以下分析崩溃?
【发布时间】:2016-01-26 05:39:37
【问题描述】:

我在 Android 2.3.3 - 2.3.7 设备的开发者控制台中报告了此崩溃:

java.lang.NoSuchMethodError: newSingleThreadExecutor
at android.app.QueuedWork.singleThreadExecutor(QueuedWork.java:82)
at android.app.ContextImpl$SharedPreferencesImpl.enqueueDiskWrite(ContextImpl.java:3245)
at android.app.ContextImpl$SharedPreferencesImpl.access$100(ContextImpl.java:2869)
at android.app.ContextImpl$SharedPreferencesImpl$EditorImpl.apply(ContextImpl.java:3087)
at com.google.android.gms.analytics.internal.zzai$zza.zzbq(Unknown Source)
                                                   zzlN
at com.google.android.gms.analytics.internal.zzaf.zzlx(Unknown Source)
                                               zzb
at com.google.android.gms.analytics.internal.zzaf.zziJ(Unknown Source)
                                               zza
                                               zzh
                                               zza
                                               zzl
at com.google.android.gms.analytics.internal.zzc.zza(Unknown Source)
                                              zza
                                              zza
                                              zza
                                              zzj
at com.google.android.gms.analytics.internal.zzc.zzbg(Unknown Source)
                                              zze
at com.google.android.gms.analytics.internal.zzl.zzjT(Unknown Source)
at com.google.android.gms.analytics.internal.zzl.start(Unknown Source)
                                              zzf
                                              zzb
at com.google.android.gms.analytics.internal.zzb.start(Unknown Source)
at com.google.android.gms.analytics.internal.zzf.<init>(Unknown Source)
at com.google.android.gms.analytics.internal.zzf.zzjw(Unknown Source)
                                              zzaa
                                              zza
at com.google.android.gms.analytics.GoogleAnalytics.zza(Unknown Source)
                                                 getInstance
                                                 setDryRun
                                                 newTracker
at ab.androidcommons.application.BaseApplication.activityResumed(Unknown Source)
                                              getTracker
                                              sendEvent
                                              sendScreenView
                                              sendException
                                              setDimensions
at ab.androidcommons.application.BaseApplication.activityResumed(Unknown Source)
                                              getTracker
                                              sendEvent
                                              sendScreenView
                                              sendException
                                              setDimensions
at ab.androidcommons.ui.activities.BaseAppCompatActivity.onCreate(Unknown Source)
at com.tools.screenshot.ui.activities.LicenseCheck.onCreate(Unknown Source)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1699)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1754)
at android.app.ActivityThread.access$1500(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1000)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(SourceFile:351)
at android.app.ActivityThread.main(ActivityThread.java:3821)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
at dalvik.system.NativeStart.main(Native Method)

崩溃的活动 LicenseCheck 正在扩展 BaseAppCompatActivity:

public class LicenseCheck extends BaseAppCompatActivity {
}

这是 BaseAppCompatActivity:

public abstract class BaseAppCompatActivity extends AppCompatActivity {

// abstract methods
protected abstract String getScreenName();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ThemeUtils.setTheme(this);
    ContextUtils.getAnalyticsApplication(this).sendScreenView(getScreenName());
}

我可以在哪里以及如何解决这个问题?

【问题讨论】:

    标签: android google-analytics


    【解决方案1】:

    Proguard 会混淆您的代码。 你需要编辑你的proguard文件的规则如下:

    -dontwarn com.google.android.gms.**
    -keep class com.google.android.gms.**
    

    参考这个问题:Proguard and error

    【讨论】:

    • 为什么我只为 2.3.x 版本获得了它,而相同的混淆代码在其他设备上也能正常工作?
    猜你喜欢
    • 2023-01-27
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 2021-02-10
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多