Я пытаюсь создать простое приложение для тестирования Cloud TTS. Официальная документация , по-видимому, не содержит какой-либо конкретной информации об Android, и самой близкой была Java.
Я создал приложение по умолчанию, а затем добавил библиотеку следующим образом:
implementation 'com.google.cloud:google-cloud-texttospeech:0.82.0-beta'
, что вызвало странную ошибку сборки, поэтому я добавил ее после прочтения существующего вопроса StackOverflow
packagingOptions {
exclude 'META-INF/proguard/androidx-annotations.pro'
exclude 'META-INF/INDEX.LIST'
}
Теперь он компилируется, но, конечно, это вызвало исключение времени выполнения, говорящее о том, что GOOGLE_APPLICATION_CREDENTIALS
должен быть определен. Но как это сделать с Android? На странице документации были только инструкции для Windows / Linux / macOS.
В случае, если кто-то увидит этот вопрос в будущем, я думаю, что я решил это, делая то, что делает эта страница . Я скопировал credential.json
в каталог raw
и перед вызовом API сделал следующее:
val cred = ServiceAccountCredentials.fromStream(resources.openRawResource(R.raw.credentials));
val buil = TextToSpeechSettings.newBuilder();
buil.credentialsProvider = FixedCredentialsProvider.create(cred);
val sett = buil.build();
// Instantiates a client
TextToSpeechClient.create(sett).use { textToSpeechClient ->