Ошибка подключения к эмулятору хранилища Firebase в эмуляторе AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка подключения к эмулятору хранилища Firebase в эмуляторе Android

Сообщение Anonymous »

Я пытаюсь использовать пакет эмулятора Firebase для своего приложения Flutter. Хотя эмуляторы Firestore, Authentication и Functions работают правильно, у меня возникли проблемы с эмулятором Storage.
Ниже приведен код, который я использую. Я пробовал использовать 10.0.2.2 вместо 127.0.0.1, но та же ошибка сохраняется.

Код: Выделить всё

void main() async {
Bloc.observer = AppBlocObserver();

WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();

if (USE_EMULATOR) {
await _connectToFirebaseEmulator();
}

runZonedGuarded(() {
runApp(ElectronicCupongs(appTitle: 'LunchBrejk'));
}, (error, stacktrace) {
FirebaseCrashlytics.instance.recordError(error, stacktrace);
});
}

/// Connect to Firebase emulator
Future _connectToFirebaseEmulator() async {
final localHost = Platform.isAndroid ? '10.0.2.2' : 'localhost';

FirebaseFirestore.instance.useFirestoreEmulator(localHost, 8080);
FirebaseStorage.instance.useStorageEmulator(localHost, 9199);
FirebaseFunctions.instance.useFunctionsEmulator(localHost, 5001);
await FirebaseAuth.instance.useAuthEmulator(localHost, 9099);
}
Когда Flutter запускается, я вижу в консоли отладки следующее:

Код: Выделить всё

I/flutter ( 7233): Mapping Firestore Emulator host "127.0.0.1" to "10.0.2.2".
I/flutter ( 7233): Mapping Storage Emulator host "127.0.0.1" to "10.0.2.2".
I/flutter ( 7233): Mapping Functions Emulator host "127.0.0.1" to "10.0.2.2".
I/flutter ( 7233): Mapping Auth Emulator host "127.0.0.1" to "10.0.2.2".
Однако, когда я пытаюсь загрузить изображение из хранилища, я получаю следующую ошибку:

Код: Выделить всё

I/flutter ( 7233): CacheManager: Failed to download file from http://localhost:9199/v0/b/default-bucket/o/restaurants%2FR81.jpg?alt=media&token=4983e466-53d1-4f4e-a1d4-09cce1b27ba1 with error:
I/flutter ( 7233): SocketException: OS Error: Connection refused, errno = 111, address = localhost, port = 39308
Интересно, что я могу получить доступ к изображению через браузер, используя URL-адрес, указанный в сообщении об ошибке.
Чтобы убедиться, что это не проблема с правилами, я я изменил свой файл Storage.rules, чтобы разрешить доступ для чтения и записи.
Я использую пакет cached_network_image. Может ли быть так, что cached_network_image не может правильно обрабатывать URL-адреса эмулятора?
Вопрос:
Как устранить ошибку «Соединение отклонено» при использовании эмулятора Firebase Storage в моем приложении Flutter? Есть какие-нибудь предложения или идеи о том, что может быть причиной этой проблемы?
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/691 ... d-emulator
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»