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屋!