此代码直到几天前才有效。 它在调试版本中仍然有效,但在发布版本中不再有效。 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
}
}
}
终于让它工作了,我包含了这个文件的内容: proguard-google-api-client.txt 和这一行:
-keep class com.google.api.services.drive.** { *; }
感谢 Dan Gerchcovich 指出禁用混淆带来的安全问题。虽然我认识他们,但我很乐意将其关闭以使其正常工作:)