Android 获得"U账户许可和谷歌API';s

Android 获得"U账户许可和谷歌API';s,android,google-api,android-permissions,google-auth-library,Android,Google Api,Android Permissions,Google Auth Library,我正在使用Gmail API从Android应用程序发送电子邮件。 读到关于获得账户的信息,我觉得这已经没有必要了,但很明显,我错了 我个人使用安卓8,在没有声明许可的情况下一切正常,但是,运行安卓7会从Google GMS Auth lib引发一个异常:(我知道,这个异常看起来不相关,这是许可问题) java.lang.IllegalArgumentException:名称不能为空:null 在android.accounts.Account.(Account.java:48) 访问com.g

我正在使用Gmail API从Android应用程序发送电子邮件。
读到关于获得账户的信息,我觉得这已经没有必要了,但很明显,我错了

我个人使用安卓8,在没有声明许可的情况下一切正常,但是,运行安卓7会从Google GMS Auth lib引发一个异常:(我知道,这个异常看起来不相关,这是许可问题)

java.lang.IllegalArgumentException:名称不能为空:null
在android.accounts.Account.(Account.java:48)
访问com.google.android.gms.auth.zzd.getToken(未知来源)
在com.google.android.gms.auth.GoogleAuthUtil.getToken(未知来源)
在com.google.api.client.GoogleAppis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
在com.google.api.client.GoogleAppis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
位于com.google.api.client.http.HttpRequest.execute(HttpRequest.java:868)
在com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequestWithoutGZip(MediaHttpUploader.java:545)
在com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:562)
在com.google.api.client.googleapis.media.MediaHttpUploader.executeUploadInitiation(MediaHttpUploader.java:519)上
在com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:384)上
在com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:336)上
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:427)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
所以我想我仍然需要声明它,并要求用户在Android 7上授予它,但是在其他SDK版本中呢?
看起来安卓8不需要许可,但安卓6向下呢?
我已经查遍了谷歌API的文档,但没有找到任何相关的

java.lang.IllegalArgumentException: the name must not be empty: null
    at android.accounts.Account.<init>(Account.java:48)
    at com.google.android.gms.auth.zzd.getToken(Unknown Source)
    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:868)
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequestWithoutGZip(MediaHttpUploader.java:545)
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:562)
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeUploadInitiation(MediaHttpUploader.java:519)
    at com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:384)
    at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:336)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:427)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)