尝试从 android kotlin 创建文件失败,并显示:Java.lang.IllegalArgumentException:关键错误

问题描述 投票:0回答:1

此代码直到几天前才有效。 它在调试版本中仍然有效,但在发布版本中不再有效。 SDK 或 gradle 尚未更新。

oauth 应用程序已在 Google 控制台中正确设置,输入了正确的 SHA1 密钥。

现在失败了:

GoogleDriveManager.uploadFile 操作时出错: java.lang.IllegalArgumentException:关键错误

suspend fun uploadFile(credential: GoogleAccountCredential, file: File): Date? {
        return withContext(Dispatchers.Default) {
            try {
                val drive =  Drive.Builder(
                        NetHttpTransport(),
                        JacksonFactory.getDefaultInstance(),
                        credential
                )
                .setApplicationName(string(R.string.app_name))
                .build()

                val googleDriveFile = GoogleDriveFile()
                googleDriveFile.name = file.name

                val fileContent = FileContent("text/txt", file)

                drive.Files().create(googleDriveFile, fileContent).execute()

                Date()
            } catch (exception: Exception) {
                log {
                    "Error during GoogleDriveManager.uploadFile operation: ${exception}"
                }

                null
            }
        }
    }
android kotlin google-drive-api
1个回答
0
投票

终于让它工作了,我包含了这个文件的内容: proguard-google-api-client.txt 和这一行:

-keep class com.google.api.services.drive.** { *; }

感谢 Dan Gerchcovich 指出禁用混淆带来的安全问题。虽然我认识他们,但我很乐意将其关闭以使其正常工作:)

© www.soinside.com 2019 - 2024. All rights reserved.