2014-03-31 31 views
0

我試圖讓GCM運行在我的Android應用程序上,在GCMRegistrar.register()被調用後我收到了這個奇怪的錯誤信息(app-name是我不能透露該應用程序):java.lang.ClassNotFoundException與GCM服務

java.lang.ClassNotFoundException: Didn't find class 
"com.<companyname>.<appname>.GCMIntentService" on path: DexPathList[[zip file 
"/system/framework/com.google.android.maps.jar", zip file "/data/app/<app- 
name>"],nativeLibraryDirectories=[/data/app-lib/<app.name>, 
/vendor/lib, /system/lib]] 

的(我認爲)AndroidManifest的相關部分:

<service android:name=".GCMIntentService" /> 

類GCMIntentService存在於指定的路徑,我從GCM-複製的文件Google提供的客戶端項目,所以我真的不知道問題所在。

任何想法?

UPDATE: 我搬到類GCMIntentService以下包:

com.google.android.gcm.demo.app 

不,我得到一個警告:

Unable to start service Intent { act=com.google.android.c2dm.intent.REGISTRATION 
flg=0x10 pkg=com.<company-name>.<app-name> 
cmp=com.xitaso.plugsurfing/.GCMIntentService (has extras) } U=0: not found 

這是什麼意思?

+0

您正在使用哪種IDE? Eclipse還是Android Studio? –

+0

@Thomas Bouron我正在使用Eclipse。 – deimos1988

+0

確保包名稱正確。 – Dhaval

回答

0

我想出了問題所在:GCMIntentService必須位於包名稱的根目錄下,在我的情況下是com.companyname.appname;我創建了一個單獨的包,我把GCMIntentService類,並從那時起工作正常(至少我認爲這是主要問題)。