具有Java客户端库的Google Drive V3在Android上创建无标题文件

时间:2019-02-09 08:30:15

标签: java android google-drive-api

我已经使用我的Android应用程序成功地从V2迁移到了V3。当我通过Android Studio直接将其安装在设备上时,它可以工作,但是当我手动或通过Google Play商店安装APK时,无论创建文件还是上传文件,无论文件还是文件夹,我都会获得“无标题”文件。

我通过Java客户端API库https://developers.google.com/resources/api-libraries/documentation/drive/v3/java/latest/使用Drive V3 API。

                GoogleSignInOptions signInOptions =
                    new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                            .requestEmail()
                            .requestScopes(new Scope(DriveScopes.DRIVE_FILE))
                            .build();
            GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(mContext, signInOptions);

...

        Drive googleDriveService =
            new Drive.Builder(
                    AndroidHttp.newCompatibleTransport(),
                    new GsonFactory(),
                    credential)
                    .setApplicationName("Foo bar")
                    .build();

...

    File folderMetaData = new File ()
            .setName("test")
            .setMimeType("application/vnd.google-apps.folder")
            .setParents(Collections.singletonList("root"));
    return mDriveService.files().create(folderMetaData)
            .setFields("id, name")
            .execute();

正如我所说,仅将部署从Android Studio安装更改为签名的APK才能使创建/上传不再起作用。有提示吗?

1 个答案:

答案 0 :(得分:1)

将其添加到您的proguard文件中应该可以:

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