我正在开发一个CRUD应用程序。**问题:**当我在模拟器或物理设备上调试我的应用程序时,一切都运行得很好,但当我创建APK并在移动的设备上运行它时,除了post请求外,所有请求都运行得很好。
在我搜索的时候,我已经给了互联网许可。
我的发帖请求
await http.post(
Uri.parse('https://myap'),
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer ${token}',
},
body: jsonBody,
).then(
(response) {
if (response.statusCode == 201) {
navigatorKey.currentState?.pushNamed('home');
}
},
).catchError(
(e) {
print(e);
},
);
在apk、模拟器和物理设备上都能正常使用
Future fetchFeed() async {
await http.get(Uri.parse('https://myapi'), headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer $token',
}).then((response) {
if (response.statusCode == 200) {
print(response.statusCode);
}
}).catchError(
(e) {
print(e);
},
);
}
2条答案
按热度按时间p3rjfoxz1#
如果它在调试模式下工作正常,但在发布(apk)模式下工作不正常,则
manifest.xml
文件中可能缺少Internet权限。Android应用必须在
"android\app\src"
的Android清单(AndroidManifest.xml)中声明其对互联网的使用:在这里你会发现3个文件夹,将这个片段添加到每个文件夹中的
AndroidManifest
。jtjikinw2#
错误在
jsonBody
中。它不认为它是map,所以它仍然在尝试发送请求,试着把:
它将工作,然后你可以离开它,或者你可以搜索什么是jsonBody的问题