与Android应用程序的Flurry集成给出了一个错误“找不到类'com.flurry.sdk.i',从com.flurry.sdk.hu.a方法引用”

时间:2015-03-17 08:59:58

标签: android flurry flurry-analytics

这是我迄今为止所尝试过的:

public class ScoreUpApp extends Application {
private static ScoreUpApp scoreUpDataCache;
public static final String TAG = "MyApp";

@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();

    // configure Flurry
    FlurryAgent.setLogEnabled(true);
    // init Flurry
    FlurryAgent.init(this, "V88JVYGFF7QX5D9RYZG2");

}
}

这是 Logcat

中出现的错误
03-17 14:06:41.924: E/dalvikvm(30175): Could not find class 'com.flurry.sdk.i', referenced from method com.flurry.sdk.hu.a

03-17 14:31:36.694: W/dalvikvm(31798): VFY: unable to resolve const-class 2065 (Lcom/flurry/sdk/i;) in Lcom/flurry/sdk/hu;

谢谢。

1 个答案:

答案 0 :(得分:9)

如果您只使用 FlurryAnalytics-X.X.X.jar 而没有 FlurryAds-X.X.X.jar ,则会出现此警告/错误消息。如果您对广告不感兴趣,可以忽略该错误,因为它只是SDK的内部错误,不会影响您的应用。

但是,如果您已将广告库作为依赖项包含在内,并且仍然看到此错误,那是因为Proguard正在剥离所需的类。确保您的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.**