Debugging 颤振:一个过程在调试模式下运行良好,但在发布后运行不好,为什么?
我的项目在调试模式下一切正常,但在发布后,除了一个过程外,一切正常 步骤如下:Debugging 颤振:一个过程在调试模式下运行良好,但在发布后运行不好,为什么?,debugging,flutter,release,Debugging,Flutter,Release,我的项目在调试模式下一切正常,但在发布后,除了一个过程外,一切正常 步骤如下: Future<void> downloadFile() async{ Dio dio = Dio(); var directory = await getApplicationDocumentsDirectory(); await dio.download(bookUrl, "${directory.path}/$className + $bookName.pdf", onReceiveProgres
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';
});
Future downloadFile()异步{
Dio Dio=Dio();
var directory=等待getApplicationDocumentsDirectory();
等待dio.download(bookUrl,“${directory.path}/$className+$bookName.pdf”,
收到进度:(记录,总计){
设置状态(){
下载=真;
百分比=((记录/总数)*100.ToStringGasFixed(0)+'%;
});
}
);
设置状态(){
下载=假;
百分比='下载完成';
});
}
这是我在发布应用程序运行时收到的错误消息:
E/flatter(25796):[错误:flatter/lib/ui/ui\u dart\u state.cc(148)]
未处理的异常:DioError[DioErrorType.DEFAULT]:SocketException:
主机查找失败:“www.ets.org”(操作系统错误:没有关联的地址
对于主机名,errno=7)E/flatter(25796):#0 Dio。_makeRequest
(包装:dio/src/dio.dart:799)电子/颤振(25796):电子/颤振(25796):#1个dio.(请求)。。(包装:dio/src/dio.dart:711)E/颤振
(25796):#2 _根运行一元(dart:async/zone.dart:1132)E/flatter
(25796):#3 _CustomZone.runUnary(dart:async/zone.dart:1029)
E/颤振(25796):#4#FutureListener.handleValue
(dart:async/future_impl.dart:126)E/颤振(25796):#5未来.\u传播到Listeners.handleValueCallback (dart:async/future_impl.dart:639)E/颤振(25796):#6
Future.\u传播到侦听器(dart:async/Future\u impl.dart:668) E/颤振(25796):#7未来。# (dart:async/future_impl.dart:473)E/颤振(25796):#8
_SyncCompleter.complete(dart:async/future_impl.dart:51)E/flatter(25796):#9_asyncwaitcompleter.complete。 (dart:async patch/async_patch.dart:33)E/颤振(25796):#10
_rootRun(dart:async/zone.dart:1120)E/flatter(25796):#11_CustomZone.run(dart:async/zone.dart:1021)E/flatter(25796):#12_CustomZone.runguard(dart:async/zone.dart:923)E/flatter(25796):#13_CustomZone.bindcallbackguard。(dart:async/zone.dart:963)E/flatter(25796):#14_rootRun (dart:async/zone.dart:1124)E/flatter(25796):#15_CustomZone.run (省道:异步/区域。省道:1021)E/颤振(25796):#16
_CustomZone.runguared(dart:async/zone.dart:923)E/flatter(25796):#17_CustomZone.bindcallbackguared。(dart:async/zone.dart:963)E/flatter(25796):#18 microtaskLoop (dart:async/schedule_microtask.dart:41)E/flatter(25796):#19
_startMicrotaskLoop(dart:async/schedule\u microtask.dart:50) SocketException:主机查找失败:“www.ets.org”(操作系统错误:否 与主机名关联的地址,errno=7) 您似乎无法连接到此主机。您的应用程序是否需要网络权限 编辑:有关特定代码行,请参见下面OP的答案:确保
<uses-permission android:name="android.permission.INTERNET" />
在你的应用程序的android/app/src/main/AndroidManifest.xml中,我不知道这一点。这是唯一一个在发布后出现错误的过程。我做到了。非常感谢。