初始化android的flurry时的错误

时间:2015-06-15 10:28:19

标签: android runtime-error flurry

我正在使用FlurryAnalytics-5.5.0.jar。当我初始化Flurry时,我收到一些错误:

FlurryAgent.setLogEnabled(true);
FlurryAgent.setLogEvents(true);
FlurryAgent.setLogLevel(android.util.Log.ERROR);
FlurryAgent.init(this, FLURRY_ID);

错误:

  

无法找到从方法引用的类'com.flurry.sdk.br'   com.flurry.sdk.bq.a

  

Google Play服务库存在问题,即   Android广告ID支持所必需的。 Google Play服务   图书馆应该集成到Play商店中的任何应用程序中   使用分析或广告。

你能告诉我吗?

2 个答案:

答案 0 :(得分:4)

出现此问题是因为Google Play服务未配置属性。检查项目配置中是否缺少任何play-services核心依赖项。

就我而言,我通过向build.gradle配置文件(app level)添加以下依赖项来解决它:

compile 'com.google.android.gms:play-services-base:8.4.0'

确切的logcat错误行如下

  

E / FlurryAgent:GOOGLE PLAY SERVICES EXCEPTION:com.google.android.gms.common.GooglePlayServicesUtil

     

E / FlurryAgent:Google Play服务库存在问题,这是Android广告ID支持所必需的。 Google Play服务库应集成到Play商店中使用分析或广告的任何应用中。

可以在 play-services-base 库中找到GooglePlaySercicesUtil类。

希望这有帮助。

有关详细信息,请参阅链接thisthis

答案 1 :(得分:3)

如果你正在使用Proguard,Flurry guide page告诉你有必要在proguard配置文件中添加以下行:

-keep class com.flurry.** { *; }
-dontwarn com.flurry.**
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

# Google Play Services library
-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *

-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

#If you are using the Google Mobile Ads SDK, add the following:
# Preserve GMS ads classes
-keep class com.google.android.gms.ads.** { *;
}
-dontwarn com.google.android.gms.ads.**


#If you are using the InMobi SDK, add the following:
# Preserve InMobi Ads classes
-keep class com.inmobi.** { *;
}
-dontwarn com.inmobi.**
#If you are using the Millennial Media SDK, add the following:
# Preserve Millennial Ads classes
-keep class com.millennialmedia.** { *;
}
-dontwarn com.millennialmedia.**

另请查看此answer