Ошибка при сборке > apk сборки flutter:
E/flutter (1555): [ОШИБКА: flutter/runtime/dart_vm_initializer.cc(41)] Необработанное исключение: LateInitializationError: локальный «результат» не был инициализирован.
E/flutter (1555): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:190) E/flutter (1555): #1 RenderObject.debugNeedsPaint (пакет:flutter/src/rendering/object.dart) E/flutter (1555): #2 _HomeScreenState._capturePng (пакет:geeta_gyandhara/screens/home/home_screen.dart:48) E /flutter (1555): #3 _HomeScreenState.buildShlokaCard. (пакет:geeta_gyandhara/screens/home/home_screen.dart:169) E/flutter (1555): #4 _InkResponseState.handleTap (пакет:flutter/src/ материал/ink_well.dart:1171)
E/flutter ( 1555): #5 GestureRecouncer.invokeCallback (package:flutter/src/gestures/recouncer.dart:344) E/flutter ( 1555): #6 TapGestureRecouncer.handleTapUp (package:flutter/src/gestures/tap.dart:652)
E/flutter ( 1555): #7 BaseTapGestureRecouncer._checkUp (package:flutter) /src/gestures/tap.dart:309) E/flutter (1555): #8 BaseTapGestureRecouncer.acceptGesture (пакет:flutter/src/gestures/tap.dart:279) E/flutter (1555): #9 GestureArenaManager.sweep (пакет: flutter/src/gestures/arena.dart:167) E/flutter ( 1555): #10 GestureBinding.handleEvent (пакет: flutter/src/gestures/binding.dart:499) E/flutter ( 1555): # 11 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:475)
E/flutter ( 1555): #12 RendererBinding.dispatchEvent (package:flutter/src/rendering) /binding.dart:425) E/flutter (1555): #13 GestureBinding._handlePointerEventImmediately (пакет:flutter/src/gestures/binding.dart:420) E/flutter (1555): #14 GestureBinding.handlePointerEvent (пакет:flutter) /src/gestures/binding.dart:383)
E/flutter ( 1555): #15 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330) E /flutter (1555): #16 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299) E/flutter (1555): #17 _invoke1 (dart:ui/hooks.dart:328) E/flutter ( 1555): #18 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:442) E/flutter ( 1555): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:262) E/flutter ( 1555):
Код:
Этот код работает правильно в режиме отладки, но показывает исключение, когда я использую apk сборки flutter
Future _capturePng(GlobalKey key) async {
RenderRepaintBoundary? boundary =
key.currentContext!.findRenderObject() as RenderRepaintBoundary?;
if (boundary == null) {
print("Boundary is not available.");
return Future.delayed(const Duration(milliseconds: 20), () => _capturePng(key));
}
if (boundary.debugNeedsPaint) {
print("Waiting for boundary to be painted.");
await Future.delayed(const Duration(milliseconds: 20));
return _capturePng(key); // Recursively retry capturing
}
ui.Image image = await boundary.toImage(pixelRatio: 3.0);
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
if (byteData == null) {
throw 'Error converting image to ByteData';
}
return byteData.buffer.asUint8List();
}
Widget buildShlokaCard(
String hindiText, String englishText, String sanskritText, img,GlobalKey key) {
return RepaintBoundary(
key: key,
child: Container(
width: MediaQuery.sizeOf(context).width.w,
decoration: BoxDecoration(
color: colorWhite,
borderRadius: BorderRadius.circular(12.r),
),
padding: EdgeInsets.symmetric(horizontal: 10.w),
margin: EdgeInsets.symmetric(horizontal: 10.0.w),
child: Stack(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextWidget(
text: hindiText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.bold,
fontSize: 18.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: englishText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: sanskritText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
],
),
Positioned(
bottom: 0,
right: 0,
child: IconButton(onPressed: (){
_capturePng(key).then((imageBytes) {
if (imageBytes != null) {
// Handle captured image bytes here (e.g., save/share/etc.)
_shareImage(imageBytes);
} else {
print('Error capturing image');
}
});
}, icon: const Icon(Icons.share),),
)
],
),
),
);
}
void _shareImage(Uint8List imageBytes) async {
try {
final tempDir = await getTemporaryDirectory();
final file = await File('${tempDir.path}/shloka_image.png').create();
await file.writeAsBytes(imageBytes);
// Create an XFile instance from the file path
final xFile = XFile(file.path);
// Share the file
await Share.shareXFiles([xFile], text: 'Check out this shloka from Bhagavad Gita!');
} catch (e) {
print('Error sharing image: $e');
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... -exception
Я пытаюсь преобразовать виджет Flutter в изображение. Но получение некоторого исключения при создании сборки выпуска ⇐ Android
Форум для тех, кто программирует под Android
1719813350
Anonymous
Ошибка при сборке > apk сборки flutter:
E/flutter (1555): [ОШИБКА: flutter/runtime/dart_vm_initializer.cc(41)] Необработанное исключение: LateInitializationError: локальный «результат» не был инициализирован.
E/flutter (1555): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:190) E/flutter (1555): #1 RenderObject.debugNeedsPaint (пакет:flutter/src/rendering/object.dart) E/flutter (1555): #2 _HomeScreenState._capturePng (пакет:geeta_gyandhara/screens/home/home_screen.dart:48) E /flutter (1555): #3 _HomeScreenState.buildShlokaCard. (пакет:geeta_gyandhara/screens/home/home_screen.dart:169) E/flutter (1555): #4 _InkResponseState.handleTap (пакет:flutter/src/ материал/ink_well.dart:1171)
E/flutter ( 1555): #5 GestureRecouncer.invokeCallback (package:flutter/src/gestures/recouncer.dart:344) E/flutter ( 1555): #6 TapGestureRecouncer.handleTapUp (package:flutter/src/gestures/tap.dart:652)
E/flutter ( 1555): #7 BaseTapGestureRecouncer._checkUp (package:flutter) /src/gestures/tap.dart:309) E/flutter (1555): #8 BaseTapGestureRecouncer.acceptGesture (пакет:flutter/src/gestures/tap.dart:279) E/flutter (1555): #9 GestureArenaManager.sweep (пакет: flutter/src/gestures/arena.dart:167) E/flutter ( 1555): #10 GestureBinding.handleEvent (пакет: flutter/src/gestures/binding.dart:499) E/flutter ( 1555): # 11 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:475)
E/flutter ( 1555): #12 RendererBinding.dispatchEvent (package:flutter/src/rendering) /binding.dart:425) E/flutter (1555): #13 GestureBinding._handlePointerEventImmediately (пакет:flutter/src/gestures/binding.dart:420) E/flutter (1555): #14 GestureBinding.handlePointerEvent (пакет:flutter) /src/gestures/binding.dart:383)
E/flutter ( 1555): #15 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330) E /flutter (1555): #16 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299) E/flutter (1555): #17 _invoke1 (dart:ui/hooks.dart:328) E/flutter ( 1555): #18 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:442) E/flutter ( 1555): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:262) E/flutter ( 1555):
Код:
Этот код работает правильно в режиме отладки, но показывает исключение, когда я использую apk сборки flutter
Future _capturePng(GlobalKey key) async {
RenderRepaintBoundary? boundary =
key.currentContext!.findRenderObject() as RenderRepaintBoundary?;
if (boundary == null) {
print("Boundary is not available.");
return Future.delayed(const Duration(milliseconds: 20), () => _capturePng(key));
}
if (boundary.debugNeedsPaint) {
print("Waiting for boundary to be painted.");
await Future.delayed(const Duration(milliseconds: 20));
return _capturePng(key); // Recursively retry capturing
}
ui.Image image = await boundary.toImage(pixelRatio: 3.0);
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
if (byteData == null) {
throw 'Error converting image to ByteData';
}
return byteData.buffer.asUint8List();
}
Widget buildShlokaCard(
String hindiText, String englishText, String sanskritText, img,GlobalKey key) {
return RepaintBoundary(
key: key,
child: Container(
width: MediaQuery.sizeOf(context).width.w,
decoration: BoxDecoration(
color: colorWhite,
borderRadius: BorderRadius.circular(12.r),
),
padding: EdgeInsets.symmetric(horizontal: 10.w),
margin: EdgeInsets.symmetric(horizontal: 10.0.w),
child: Stack(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextWidget(
text: hindiText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.bold,
fontSize: 18.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: englishText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: sanskritText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
],
),
Positioned(
bottom: 0,
right: 0,
child: IconButton(onPressed: (){
_capturePng(key).then((imageBytes) {
if (imageBytes != null) {
// Handle captured image bytes here (e.g., save/share/etc.)
_shareImage(imageBytes);
} else {
print('Error capturing image');
}
});
}, icon: const Icon(Icons.share),),
)
],
),
),
);
}
void _shareImage(Uint8List imageBytes) async {
try {
final tempDir = await getTemporaryDirectory();
final file = await File('${tempDir.path}/shloka_image.png').create();
await file.writeAsBytes(imageBytes);
// Create an XFile instance from the file path
final xFile = XFile(file.path);
// Share the file
await Share.shareXFiles([xFile], text: 'Check out this shloka from Bhagavad Gita!');
} catch (e) {
print('Error sharing image: $e');
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78685898/i-am-trying-to-convert-a-flutter-widget-to-an-image-but-getting-some-exception[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия