Google drive file.getId () является нулевым только при выпуске сборки - PullRequest
0 голосов
/ 07 сентября 2018

Я использую версию Google Drive API V2 для создания папки и загрузки файла в папку. Он отлично работает при отладочной сборке, но при выпуске сборки file.getId () для папки имеет значение null .

Вот изображение создаваемой им папки без названия: https://ibb.co/fJMyAK

Вы можете найти полную документацию по адресу: https://developers.google.com/drive/api/v2/folder

File fileMetadata = new File();
fileMetadata.setTitle("Invoices");
fileMetadata.setMimeType("application/vnd.google-apps.folder");

File file = driveService.files().insert(fileMetadata)
    .setFields("id")
    .execute();
System.out.println("Folder ID: " + file.getId());

Я вижу, что папка создается на диске Google, но отображается без названия.

Я вошел в консоль Google Api и убедился, что ключ SHA1 хранилища ключей для выпуска сборки правильно введен в консоль api и правильное имя пакета.

Буду признателен за любую помощь в этом!

1 Ответ

0 голосов
/ 03 октября 2018

Я тоже столкнулся с этой проблемой. Это происходит из-за правил proguard. Это лишает класс, который фактически требуется. Чтобы исправить это, добавьте следующую ссылку в ваш файл proguard-rules.pro.

#Google api and drive rules
-keep class * extends com.google.api.client.json.GenericJson {
    *;
}
-keep class com.google.api.services.drive.** {
    *;
}

Надеюсь, это поможет!

...