0

Мой Aplication Классgms.analytics.GoogleAnalytics - NoClassDefFoundError

public class MyApplication extends Application { 

private static final String PROPERTY_ID = "UA-XXXXXX-X"; 
public static int GENERAL_TRACKER = 0; 

public enum TrackerName { 
    APP_TRACKER, // Tracker used only in this app. 
    GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: 
        // roll-up tracking. 
    ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a 
         // company. 
} 

HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>(); 

public MyApplication() { 
    super(); 
} 

public synchronized Tracker getTracker(TrackerName trackerId) { 
    if (!mTrackers.containsKey(trackerId)) { 

     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE); 
     Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics 
       .newTracker(PROPERTY_ID) 
       : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics 
         .newTracker(R.xml.global_tracker) : analytics 
         .newTracker(R.xml.ecommerce_tracker); 
     mTrackers.put(trackerId, t); 

    } 
    return mTrackers.get(trackerId); 
} 
} 

app_tracker.xml

<string name="ga_trackingId">UA-XXXXXX-X</string> 
<string name="ga_sampleFrequency">100</string> 

<bool name="ga_autoActivityTracking">true</bool> 
<bool name="ga_reportUncaughtExceptions">true</bool> 

<integer name="ga_sessionTimeout">-1</integer> 

<screenName name="com.mobihouse.portabilidade.activities.HomeActivity_">HomeActivity</screenName> 

global_tracker.xml

<integer name="ga_sessionTimeout">300</integer> 

<!-- Enable automatic Activity measurement --> 
<bool name="ga_autoActivityTracking">true</bool> 

<string name="ga_logLevel">verbose</string> 

<!-- The screen names that will appear in reports --> 
<screenName name="com.mobihouse.portabilidade.activities.HomeActivity_">HomeActivity Portabilidade</screenName> 
<!-- The following value should be replaced with correct property id. --> 
<string name="ga_trackingId">UA-XXXXXX-X</string> 

На мой манифеста, я уже прибавил:

<application 
    android:name="com.mobihouse.portabilidade.MyApplication" 

    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

    <meta-data 
     android:name="com.google.android.gms.analytics.globalConfigResource" 
     android:resource="@xml/global_tracker" /> 

Я изменил свое PROPERTY_ID разместить здесь.

И проблема, журнал:

11-25 09:23:30.031: E/AndroidRuntime(8392): FATAL EXCEPTION: main 11-25 09:23:30.031: E/AndroidRuntime(8392): java.lang.NoClassDefFoundError: com.google.android.gms.analytics.GoogleAnalytics 11-25 09:23:30.031: E/AndroidRuntime(8392): at com.mobihouse.portabilidade.MyApplication.getTracker(MyApplication.java:45)

И:

11-25 09:23:29.992: I/dalvikvm(8392): Could not find method com.google.android.gms.analytics.Tracker.setScreenName, referenced from method com.mobihouse.portabilidade.activities.HomeActivity.onCreate

11-25 09:23:29.992: I/dalvikvm(8392): Could not find method com.google.android.gms.analytics.GoogleAnalytics.getInstance, referenced from method com.mobihouse.portabilidade.activities.HomeActivity.onStart

я искал несколько сайтов, однако все решения не работали, кто-то может мне помочь?

я уже обновить сервисы Google Play ОМТ свою текущую версию = 21, в соответствии с менеджером АБР, я пытаюсь реализовать в Android 5.0 - API 21.

Кроме того, я уже поставил Google Play услуги как lib в моем проекте

+0

есть у добавил GoogleAnalytics .jar файл в LIBS folder..and добавил его в пути сборки – Meenal

+0

@Meenal Шарма, я не имеет репутацию поместить изображения, поэтому я загрузить изображения из моей LIBS: Http: // postimg ,org/image/xw6ddrq6z/ http://postimg.org/image/qnbo6x0qh/ Просьба посмотреть plz. Благодарю. –

+0

Возможно, вам нужно связать с Google Play Services как проект библиотеки? –

ответ

0

Вам необходимо связать Google Play Services как проект библиотеки.

Подробнее о библиотечных проектах можно узнать на странице official site. Вскоре - вам нужно использовать проекты библиотек, когда дополнительные проекты включают не только исходный код, но и ресурсы (макеты, строки).

Если вам нужно использовать библиотеку, которая включает только исходный код, вы можете просто скопировать файл .jar в папку libs.

Текущая версия (v4) Google Analytics для Android включена в проект Google Play Services, который включает в себя ресурсы, поэтому на него должны ссылаться как проекты библиотеки.

Например, предыдущая версия Google Analytics для Android не была включена в проекты Google Play Services и была простой библиотекой .jar.