gms.analytics.GoogleAnalytics - 的NoClassDefFoundError [英] gms.analytics.GoogleAnalytics - NoClassDefFoundError

本文介绍了gms.analytics.GoogleAnalytics - 的NoClassDefFoundError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Aplication类

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在这里发表。

并问题,请登录:

9月11日至25日:23:30.031:E / AndroidRuntime(8392):致命异常:主要
  9月11日至25日:23:30.031:E / AndroidRuntime(8392):
  java.lang.NoClassDefFoundError的:
  com.google.android.gms.analytics.GoogleAnalytics 9月11日至25日:23:30.031:
  E / AndroidRuntime(8392):在
  com.mobihouse.portabilidade.MyApplication.getTracker(MyApplication.java:45)

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)

9月11日至25日:23:29.992:I / dalvikvm(8392):找不到方法
  com.google.android.gms.analytics.Tracker.setScreenName,引用
  从方法
  com.mobihouse.portabilidade.activities.HomeActivity.onCreate

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

9月11日至25日:23:29.992:I / dalvikvm(8392):找不到方法
  com.google.android.gms.analytics.GoogleAnalytics.getInstance,
  从方法引用
  com.mobihouse.portabilidade.activities.HomeActivity.onStart

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

我搜索了几个网站,但所有的解决方案没有奏效,有人可以帮我吗?

I searched several sites, however all solutions not worked, someone could help me?

我已经更新了谷歌播放服务的lib,我目前的版本= 21,根据亚行的经理,我想在Android的5.0来实现 - 21 API

I already update the google play services lib, my current version = 21, according to ADB Manager, I am trying to implement in Android 5.0 - API 21.

此外,我已经把谷歌播放服务作为一个lib在我的项目

Also I already put the google play services as a lib in my project

推荐答案

您需要链接谷歌Play服务,因为库项目。

You need to link Google Play Services as Library project.

您可以阅读更多有关在官方网站
不久 - 你需要使用库项目时,更多的项目不仅包括源$ C ​​$ C,但资源也(布局,字符串)

You can read more about Library projects on the official site. Shortly - you need to use library projects when additional projects includes not only source code, but resources also (layouts, strings).

如果您需要使用库,其中包括唯一来源$ C ​​$ C,你可以简单的.jar文件复制到文件夹中。

If you need to use library that includes only source code, you can simply copy .jar file into libs folder.

谷歌分析为Android的当前版本(V4)被纳入谷歌播放服务项目,包括资源,所以它必须作为库项目引用。

Current version (v4) of Google Analytics for Android is included into Google Play Services project, that includes resources, so it must be referenced as library projects.

例如,previous版(V3)谷歌Analytics(分析)针对Android的没有被纳入谷歌播放服务项目,是一个简单的.jar库。

For example, previous version (v3) of Google Analytics for Android wasn't included into Google Play Services projects and was a simple .jar library.

这篇关于gms.analytics.GoogleAnalytics - 的NoClassDefFoundError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆