안녕하세요.
gcm 으로 개발을 한 경험이 있구요...
새 프로젝트에 소스를 넣구 사용하는데, 계속 안되네요.
매니페스트에 권한은 똑같이주고, 구글 API등록 부분도 처리했구요....
소스도 틀린거 없는데도 클래스를찾을 수 없다는 오류만 계속 납니다.
인터넷 검색해보면, 클래스페스쪽도 확인해 보라고해서, 확인했는데도 같은 오류가 계속 납니다.
처리 방법이 있을까요?
07-26 05:18:31.897: E/AndroidRuntime(408): FATAL EXCEPTION: main
07-26 05:18:31.897: E/AndroidRuntime(408): java.lang.NoClassDefFoundError: com.google.android.gcm.GCMRegistrar
07-26 05:18:31.897: E/AndroidRuntime(408): at com.yaja.app.MainActivity.c2dmCheck(MainActivity.java:111)
07-26 05:18:31.897: E/AndroidRuntime(408): at com.yaja.app.MainActivity.onCreate(MainActivity.java:104)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.os.Handler.dispatchMessage(Handler.java:99)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.os.Looper.loop(Looper.java:123)
07-26 05:18:31.897: E/AndroidRuntime(408): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-26 05:18:31.897: E/AndroidRuntime(408): at java.lang.reflect.Method.invokeNative(Native Method)
07-26 05:18:31.897: E/AndroidRuntime(408): at java.lang.reflect.Method.invoke(Method.java:521)
07-26 05:18:31.897: E/AndroidRuntime(408): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-26 05:18:31.897: E/AndroidRuntime(408): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-26 05:18:31.897: E/AndroidRuntime(408): at dalvik.system.NativeStart.main(Native Method)
오류소스
GCMRegistrar.checkDevice(this); // 오류 ****************************
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if(regId.equals("")){
GCMRegistrar.register(this, LibString.STRING_GCM_KEY);
Toast.makeText(getApplicationContext(), "1111111111", Toast.LENGTH_SHORT).show();
}else{
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("appInstall", true);
editor.commit();
Toast.makeText(getApplicationContext(), "222222222222222", Toast.LENGTH_SHORT).show();
}
클래스패스
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="lib" path="C:/Users/Administrator/android-sdks/extras/google/gcm/gcm-client/dist/gcm.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>




gcm 라이브러리 인식이 안되서 그러네요.
gcm 라이브러리 추가한 폴더는 libs 여야 합니다.
ADT18 이상 부터는 libs 폴더에 넣으면 자동으로 라이브러리 인식 합니다.