我在 android 应用程序中使用 Google Drive 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(); -- 执行方法给出异常:
java.lang.IllegalArgumentException:无法创建类 com.google.abaae 的新实例,因为它没有可访问的默认构造函数
所以这部分代码不能搜索和插入文件夹。仅当应用程序由生产密钥签名时才会出现此异常。使用调试密钥,它可以完美运行。
有任何想法吗?