debugging - flutter : A procedure runs well in debug mode but not after release, 为什么?

标签 debugging flutter release

我的项目在 Debug模式下一切正常,但在发布后,除了一个过程外一切正常。

程序如下:

 Future<void> downloadFile() async{
Dio dio = Dio();

var directory = await getApplicationDocumentsDirectory();
await dio.download(bookUrl, "${directory.path}/$className + $bookName.pdf",
onReceiveProgress: (rec, total){
  setState(() {
    downloading = true;
    percentage = ((rec/total) * 100).toStringAsFixed(0)+'%';
  });
}

);

setState(() {
  downloading = false;
  percentage = 'Download Completed';
});

这是发布应用程序运行时我收到的错误消息:

E/flutter (25796): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: DioError [DioErrorType.DEFAULT]: SocketException: Failed host lookup: 'www.ets.org' (OS Error: No address associated with hostname, errno = 7) E/flutter (25796): #0 Dio._makeRequest (package:dio/src/dio.dart:799) E/flutter (25796): E/flutter (25796): #1 Dio._request.. (package:dio/src/dio.dart:711) E/flutter (25796): #2 _rootRunUnary (dart:async/zone.dart:1132) E/flutter (25796): #3 _CustomZone.runUnary (dart:async/zone.dart:1029) E/flutter (25796): #4 _FutureListener.handleValue (dart:async/future_impl.dart:126) E/flutter (25796): #5
Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639) E/flutter (25796): #6
Future._propagateToListeners (dart:async/future_impl.dart:668) E/flutter (25796): #7 Future._complete (dart:async/future_impl.dart:473) E/flutter (25796): #8
_SyncCompleter.complete (dart:async/future_impl.dart:51) E/flutter (25796): #9 _AsyncAwaitCompleter.complete. (dart:async-patch/async_patch.dart:33) E/flutter (25796): #10
_rootRun (dart:async/zone.dart:1120) E/flutter (25796): #11 _CustomZone.run (dart:async/zone.dart:1021) E/flutter (25796): #12 _CustomZone.runGuarded (dart:async/zone.dart:923) E/flutter (25796): #13 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963) E/flutter (25796): #14 _rootRun (dart:async/zone.dart:1124) E/flutter (25796): #15 _CustomZone.run (dart:async/zone.dart:1021) E/flutter (25796): #16
_CustomZone.runGuarded (dart:async/zone.dart:923) E/flutter (25796): #17 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963) E/flutter (25796): #18 _microtaskLoop (dart:async/schedule_microtask.dart:41) E/flutter (25796): #19
_startMicrotaskLoop (dart:async/schedule_microtask.dart:50)

最佳答案

确保你有

<uses-permission android:name="android.permission.INTERNET" />

在您应用的 android/app/src/main/AndroidManifest.xml 中

关于debugging - flutter : A procedure runs well in debug mode but not after release, 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56920193/

相关文章:

maven - 卡住对 Maven 发布的传递依赖,以获得完全可重现的构建

Objective-C + 发布对象

cURL 在 Release模式下崩溃,而不是在调试中

swift - 当您打印字典时,调试器究竟打印什么?

javascript - 这是表单的代码,涉及输入验证。如何让JS代码正常运行?

silverlight - 调试 Silverlight 绑定(bind)

android - flutter 无法运行

java - 类型 'List<Object?>' 不是类型转换中类型 'List<>' 的子类型

c - 单位作为指数

firebase - 如何为有状态小部件编写测试?