Я разрабатываю приложение для Android, которое требует использования сервиса google vision, предоставляемого Google Cloud Platform. Для аутентификации, это использует класс GoogleCredential класс, код, для которого можно найти здесь:Где установить переменную GOOGLE_APPLICATION_CREDENTIALS в проекте android?
https://cloud.google.com/vision/docs/label-tutorial#authenticating
Мне нужно установить GOOGLE_APPLICATION_CREDENTIALS переменную в качестве переменной окружения, указывающей на файл JSon скачанный из другое звено, что не важно.
Вопрос заключается в том: Когда я установить переменную окружения с помощью
Uri otherPath = Uri.parse("android.resource://com.example.himanshu.myapplication/DtnPhotoShare-ff552ae2c96c.json");
System.setProperty("**GOOGLE_APPLICATION_CREDENTIALS**",otherPath.toString());
Это дает мне исключение:
java.io.IOException: Приложение по умолчанию учетные данные не являются . Они доступны, если они работают в Google App Engine, Google Compute Engine или Google Cloud Shell. В противном случае необходимо указать среду переменной GOOGLE_APPLICATION_CREDENTIALS, указав в файл, определяющий учетные данные.
в строке
GoogleCredential credential =
GoogleCredential.getApplicationDefault().createScoped(VisionScopes.all());
Весь код можно найти в ссылке, приведенной выше.