Eclipse Juno ADT バンドル + Eclipse 用 Google プラグインを使用して、Android 4+ 向けに開発しています。Google Calendar API を使用するには、Google アカウントにプログラムでログインする必要があります。このために、私はアカウントマネージャーを利用しています。次のエラーが表示されます。
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): ...
これを引き起こすコードは次のとおりです。
GoogleAccountCredential credential;
credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR);
chooseAccount();
private void chooseAccount() {
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);
}
解決策をstackoverflowで検索しました。libs ディレクトリには、Eclipse 用の Google プラグインを介してインポートした Eclipse 用のカレンダー ライブラリ ファイルが含まれています (認証などのライブラリも配置されます)。
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
これをコードにインポートすると、コードのインポート行にエラーのフラグが立てられます。元気。このコードは、問題なく動作する Google カレンダー サンプルからコピーしました。
http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/
そのコードには、次を除いてまったく同じライブラリがあります。
- カレンダー lib は rev41 ではなく rev33 です
- jackson および jackson-asl ライブラリがありません
- サンプル コードには存在するが、私のコードには存在しない各ライブラリ ファイルの .properties ファイル
したがって、これは問題ではありません。ただし、コードのインポート セクションを見ると、Google カレンダーのサンプル コードには次のように記述されています。
import com.google.android.gms.common.GooglePlayServicesUtil;
しかし、このコード行をコードに挿入しようとすると、インポート com.google.android.gms.common.GooglePlayServicesUtil を解決できないというエラーとしてタグ付けされます。
この郵便受け
java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
彼らはできたと言います
import com.google.android.gms.common.AccountPicker;
しかし、どのライブラリから来たのか知りたいです。
一度に 1 つのファイルを調べて com.google.android.gms.common.* を含めることができるライブラリの元の Android カレンダー サンプルを調べてみましたが、見つかりませんでした。それはどのように可能ですか?
私は何を間違っていますか?
大変お世話になりました。