3

Eclipse 용 Juno ADT 번들 + Google 플러그인으로 Android 4 이상용으로 개발 중입니다. Google 캘린더 API를 사용하려면 프로그래밍 방식으로 Google 계정에 로그인해야합니다. 은 계정 관리자를 이용하고 있습니다. 나는 다음과 같은 오류가 발생합니다 : 내가 솔루션에 대한 유래를 검색 한GoogleAccountCredential.newChooseAccountIntent()가있는 Android의 java.lang.NoClassDefFoundError

GoogleAccountCredential credential; 

credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR); 

chooseAccount(); 

private void chooseAccount() { 

    startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER); 

} 

: 여기

05-05 13:28:55.605: E/AndroidRuntime(11186): FATAL EXCEPTION: main 
05-05 13:28:55.605: E/AndroidRuntime(11186): java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker 
05-05 13:28:55.605: E/AndroidRuntime(11186): at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.newChooseAccountIntent(GoogleAccountCredential.java:171) 
05-05 13:28:55.605: E/AndroidRuntime(11186): ... 

이 원인 코드입니다. libs와 디렉토리는 내가 일식에 대한 구글 플러그인을 통해 수입 일식의 일정 라이브러리 파일 (도 인증 등 을 넣어 ... 라이브러리)이 포함 이들은 그러나 포함하지 않는 것

android-support-v4.jar 
google-api-client-1.14.1-beta.jar 
google-api-client-android-1.14.1-beta.jar 
google-api-services-calendar-v3-rev41-1.14.2-beta.jar 
google-http-client-1.14.1-beta.jar 
google-http-client-android-1.14.1-beta.jar 
google-http-client-gson-1.14.1-beta.jar 
google-http-client-jackson-1.14.1-beta.jar 
google-http-client-jackson2-1.14.1-beta.jar 
google-oauth-client-1.14.1-beta.jar 
gson-2.1.jar 
jackson-core-2.1.3.jar 
jackson-core-asl-1.9.11.jar 
jsr305-1.3.9.jar 

com.google.android.gms.common.AccountPicker 

내 코드에서 이것을 가져 오면 가져 오기 코드 줄에 오류로 표시됩니다. 무슨 일이야.

http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/

그 코드가 정확히 제외하고 같은 libs가있다 :

  1. 달력이 lib 디렉토리 대신 rev41
  2. 의 rev33되어 나는 실행 잘 Google 캘린더 샘플에서이 코드를 복사 한
  3. jackson 및 jackson-asl 라이브러리가 누락되었습니다.
  4. 샘플 코드에 있지만 각주에는 존재하지 않는 각 라이브러리 파일의 .properties 파일

이렇게해서는 안됩니다.

import com.google.android.gms.common.GooglePlayServicesUtil; 

을하지만 난 내 코드에서 코드 행을 삽입 할 경우는 수입 co.kr에서 말하는 오류 로 태그되어 그러나, 코드의 수입 섹션에서 찾고, 구글 달력 샘플 코드가 .google.android.gms.common.GooglePlayServicesUtil 을 해결할 수 없습니다.

이 게시물이

java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker

import com.google.android.gms.common.AccountPicker; 

할 수 있었다하지만 온 어떤 라이브러리를 알고 싶습니다 말한다.

가 난 한 번에 하나 개의 파일을 검사하여 *. 내가 com.google.android.gms.common을 포함 할 수에서 라이브러리에 대한 원래의 안드로이드 달력 샘플을보고 을 시도했지만 찾을 수 없습니다. 어떻게 이 가능할까요?

내가 뭘 잘못하고 있니?

대단히 감사합니다.

답변

3

좋아요, 제가 누락 된 부분을 발견했습니다. 기타> - -

  1. 당신은 안드로이드 SDK 서비스 다운로드 한 있는지 확인> 구글에 구글 플레이-서비스-lib에 라이브러리를 추가하려면 다음 링크 에서 제공하는 지침에 따라 서비스를

  2. 을 재생하여 프로젝트 :

http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject

안부

+0

내 앱을 Eclipse에서 Android Studio로 마이그레이션 할 때 이런 일이 일어났습니다. 해결책은 1) Android SDK 관리자에서 Google Play 서비스를 다운로드하는 것입니다. 2) 파일> 프로젝트 구조를 사용하고 Google Play 서비스를 추가합니다 (프로젝트에없는 경우 Android 지원 v7). – Herman

3

최근에 유사한 문제가 발생했습니다. (하지 생산에 아직) 내 애플 갑자기 (5 월의 시작부터)

GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE_FILE)

메서드를 호출 할 때 catch 할 수없는 'NoClassDefFoundError를'오류를 던지기 시작합니다. 그것은 무작위로, 보통 아침에 처음으로 일어났습니다. Google 계정을 다시 설치하여 문제를 해결할 수 있습니다. 하지만 생산을위한 좋은 해결책은 아닙니다. 나는 마침내 동일한 코드 시퀀스에서 동일한 문제가없는 다른 앱을 가질 때까지 해결하기 위해 노력하는 좌절감을 가진 몇 시간을 보냈습니다. 그래서 둘 다 - 에드은 diff하고 "좋은"하나가 '패키지 Explorer-> 프로젝트 -> 속성 -> 자바 빌드 경로'하나

'google-play-services.jar' BEFORE 'android-support-v4.jar',

있던, '좋은'항목의 다른 순서를 가지고 것을 깨달았다

'나쁜'사람은 그것을 뒤로 가지고있었습니다. 그래서 (대화 상자에서 UP, DOWN 버튼을 사용하여) 순서를 바꿔서 문제를 해결하는 것 같습니다. 또 다른 WT ...? 순간! 아무나 이것에 대해 의견이 있습니까?

관련 문제