Ошибки при инициализации flurry для android

Я использую 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 Advertising ID. Библиотека сервисов Google Play должна быть интегрирована в любое приложение, поставляемое в Play Store, которое использует аналитику или рекламу.

Вы могли бы посоветовать?


person iftach barshem    schedule 15.06.2015    source источник
comment
Второе сообщение сообщает вам, что вам нужно добавить библиотеку сервисов Google Play в ваше приложение. Или хотя бы рекламная часть GPS.   -  person ugo    schedule 16.06.2015


Ответы (2)


Эта проблема возникает из-за того, что сервисы Google Play не настроены. Убедитесь, что в конфигурации вашего проекта отсутствуют какие-либо основные зависимости play-services.

В моем случае я решил это, добавив следующую зависимость в файл конфигурации build.gradle (уровень приложения):

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

Точные строки ошибок logcat следующие:

E/FlurryAgent: ИСКЛЮЧЕНИЕ ДЛЯ СЛУЖБ GOOGLE PLAY: com.google.android.gms.common.GooglePlayServicesUtil

E/FlurryAgent: возникла проблема с библиотекой сервисов Google Play, которая необходима для поддержки Android Advertising ID. Библиотека сервисов Google Play должна быть интегрирована в любое приложение, поставляемое в Play Store, которое использует аналитику или рекламу.

а класс GooglePlaySercicesUtil находится в библиотеке play-services-base.

Надеюсь это поможет.

См. ссылки эту и это для получения дополнительной информации.

person txedo    schedule 04.04.2016

Если вы используете Proguard, об этом сообщает страница руководства Flurry. необходимо добавить следующие строки в конфигурационный файл 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.**

Также взгляните на этот ответ.

person Edson Menegatti    schedule 15.06.2015
comment
Я не использую Прогард - person iftach barshem; 15.06.2015
comment
В лайке есть предложение обновить Сервисы Google Play. После обновления сообщение об ошибке "Проблема с библиотекой сервисов Google Play" исчезло! Спасибо. Сообщение Не удалось найти класс 'com.flurry.sdk.bp', на который ссылается метод com.flurry.sdk.bq.a, стало накапливаться. - person iftach barshem; 15.06.2015
comment
Я использую Proguard и не использую рекламу в своем приложении. как я могу это решить? Можете ли вы показать мне структуру файла gradle? - person SweetWisher ツ; 19.08.2015
comment
У меня нет файла progaurd.cfg. это просто строка proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - person SweetWisher ツ; 19.08.2015