Ниже приведен код, который я использую. Я пробовал использовать 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);
}
Код: Выделить всё
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
Чтобы убедиться, что это не проблема с правилами, я я изменил свой файл Storage.rules, чтобы разрешить доступ для чтения и записи.
Я использую пакет cached_network_image. Может ли быть так, что cached_network_image не может правильно обрабатывать URL-адреса эмулятора?
Вопрос:
Как устранить ошибку «Соединение отклонено» при использовании эмулятора Firebase Storage в моем приложении Flutter? Есть какие-нибудь предложения или идеи о том, что может быть причиной этой проблемы?
Спасибо за помощь!
Подробнее здесь: https://stackoverflow.com/questions/691 ... d-emulator