2014-09-27 109 views
9

嗯,这是一个奇怪的错误,很难找到。刚开始之前:找不到类com.google.android.gms.analytics.GoogleAnalytics

  • 在我的应用程序中,我安装了Admob并正在工作。所以GooglePlayServices的配置似乎没问题(lib作为项目添加了......)。
  • 我使用的是googleplayservices的第17版。还测试了v21和v22。
  • 我的手机拥有Android 2.3的

基本上我遇到的问题是下面,我跟进Android电子教程(我见过......最糟糕的一个),并在应用程序类(即在之前存在的)我包括跟踪器功能:

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

     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     Tracker t = analytics.newTracker(PROPERTY_ID); 
     mTrackers.put(trackerId, t); 

    } 
    return mTrackers.get(trackerId); 
} 

我加入了公共关键字的功能,因为它是不可见的...

所以,当我在使用应用程序的任何一部分功能我收到以下错误:

09-27 16:43:54.099: E/dalvikvm(2407): Could not find class 'com.google.android.gms.analytics.GoogleAnalytics$b', referenced from method com.google.android.gms.analytics.GoogleAnalytics.enableAutoActivityReports

后来就出现以下错误:

09-27 16:43:54.129: E/AndroidRuntime(2407): Caused by: java.lang.NullPointerException 09-27 16:43:54.129: E/AndroidRuntime(2407): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:100) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.t.(Unknown Source) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.t.q(Unknown Source) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.GoogleAnalytics.(Unknown Source) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.GoogleAnalytics.getInstance(Unknown Source)

任何想法如何解决呢?

+0

在2.3和4.4.3中失败 – 2014-10-03 18:13:06

+0

您使用的是proguard吗? – 2014-12-09 16:20:20

+0

不,我不是。谢谢 – 2014-12-11 22:09:07

回答

0

所以,最后它解决了。以防万一有人遇到与我一样的问题。我在这里提供什么最后的动作我做的,终于使工作谷歌分析:

  • 使用设备2.3.6(三星Galaxy ACE)
  • 我从24.0.1更新的Android SDK工具到24.0.2
  • 我从10更新的Android支持库至11
  • 我的应用程序是使用Android系统的支持,V7和google_play_services
  • 它已经将AdMob从谷歌播放服务(没有证据的Google Play服务被错误地安装)。

所以,我不知道是什么让它最终工作,但看起来像与Android SDK工具或Android支持存储库更新有关。

我只是留下这个信息,以防万一有人面临同样的问题,你能够隔离问题。如果有人正在阅读这个解决方案,我建议隔离更新,以便我们可以提供更好的信息给其他人。

希望它有帮助!

-1

确保您不仅将库添加到项目中,而且还必须链接它。转到项目属性,然后android,在右侧窗格中,您将看到“库”。确保您使用绿色支票查看您想要的Google Play服务库。如果您没有看到它,请添加它。

另一个原因可能是您没有通过导入语句将您需要的库的某些部分导入到活动中,但通常上面的问题是最常发生的或者人们忘记做的事情。但是,NULL指针异常消息正是它的意思,如果您在两个提到的区域中都遇到问题,那么您将得到确切的消息,因为它无法找到您引用的资源或类。

+0

由于AdMob正在使用我的应用程序,因此Google Play服务的配置应该没有任何问题。 – 2014-12-21 12:45:11

+0

对于空指针,因为我使用的是eclipse,所以如果是这种情况,应该有一个缺少库部件的消息。 – 2014-12-21 12:45:45