AndroidアプリでGoogleドライブAPIを使用しています。アプリがdebug.keystoreによって署名されたときにうまく機能しました。しかし、プロダクションキーで署名すると、奇妙な例外が発生します。
フォルダを検索および作成するためのコード:
com.google.api.services.drive.Drive.Files.List request =
service.files().list()
.setQ("'" + folderId + "' in parents " +
"and mimeType='application/vnd.google-apps.folder' " +
"and trashed=false " +
"and title='" + title + "'");
FileList files = request.execute();
if (files.getItems().size() == 0) {
ParentReference parentReference = new ParentReference();
parentReference.setId(folderId);
parent.add(parentReference);
File body = new File();
body.setTitle(title);
body.setMimeType("application/vnd.google-apps.folder");
body.setParents(parent);
File file = service.files().insert(body).execute();
folderId = file.getId();
} else {
folderId = files.getItems().get(0).getId();
}
FileListファイル=request.execute(); --executeメソッドは例外を出します:
java.lang.IllegalArgumentException:アクセス可能なデフォルトコンストラクタがないため、com.google.abaaeクラスの新しいインスタンスを作成できません
したがって、コードのこの部分では、フォルダーを検索して挿入することはできません。この例外は、アプリがプロダクションキーによって署名されている場合にのみ表示されます。デバッグキーを使用すると、完璧に機能します。
何か案は?