我创建了一个从GDrive读取文件的应用程序,所有在Android Studio的调试模式下工作正常,但是当我尝试使用发行版本时,我从( result.getErrorCode()<获取一个INTERNAL_ERROR / em>的)。
@Override
public void onConnectionFailed(ConnectionResult result) {
Log.i(TAG, "GoogleApiClient connection failed: " + result.toString());
if (!result.hasResolution()) {
// show the localized error dialog.
GoogleApiAvailability.getInstance().getErrorDialog(this, result.getErrorCode(), 0).show();
//GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this, 0).show();
return;
}
try {
result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION);
} catch (SendIntentException e) {
Log.e(TAG, "Exception while starting resolution activity", e);
}
}
因此,我尝试使用official tutorial中的Google Drive API来创建相同的问题。
我已经通过keytool
创建了密钥SH1并为调试密钥〜/ .android / debug.keystore 创建了ID客户端OAuth 2.0。 在调试模式下,应用程序工作正常。 所以我已经通过 Android Studio生成了一个签名APK - &gt;菜单 - &gt;构建 - &gt;生成带有新密钥文件.jks的签名apk 命令后,我创建了一个带有新密钥的新SH1和一个新的ID客户端OAuth 2.0,但是当我在Samsung S7上传release.apk时我有相同的INTERNAL_ERROR消息。 我已使用API客户端ID更改了演示文件中的 public static final String EXISTING_FOLDER_ID 。 我也使用这种方法改进了正确的密钥:
返回控制台,将打印出的SHA1与API控制台中的SH1进行比较。
在Console API的Dasboard中,我看到了请求... 我不知道问题出在哪里......
修改 我已经从google.com创建了一个新帐户,并且使用这个新帐户,这两个应用程序都有效!...为什么?第一个帐户不起作用?有一些否认旗帜?在哪里?