翩翩起舞 APK Build

问题描述 投票:0回答:1

咕日朋友们!我是一个新的Flutter,我正在尝试通过REST API来获取数据。我是Flutter的新手,我一直在尝试通过REST API来获取数据。在Android Studio上,一切都能正常工作,所以我想我的代码没有什么问题。

我做了一些事情来确保我的代码工作:1.)在android模拟器中运行代码;2。) 用真实设备运行代码(启用USB调试)。

它工作得很好。

但是当我把它编译成apk文件并安装到我的设备上时,它不再进行API调用(或无法调用?我把它做成这样,当应用程序运行时 initState(),它等待数据被加载。当数据还没有被加载时,一个 CircularProgressIndicator() 占据了整个屏幕。

如果我通过安装的apk文件运行应用程序,它只是 CircularProgressIndicator(). 也就是说,没有数据被加载和显示。但是当我在AndroidStudio中运行代码时,数据被显示出来了......

我使用的是 http 包。我不知道我做错了什么,或者我遗漏了什么。

其他需要注意的事情:我没有改变我的 AndroidManifest 文件,就按照所有的步骤在翩翩中通过官方建立apk文件。文件.

android api rest flutter apk
1个回答
3
投票

就像alexsanderfr说的那样,这的确是大部分时间被缺失造成的。

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

你应该不需要

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

为REST API。

在Flutter中,当调试时,你隐含了访问互联网的权限,但是在发行版构建中,你需要明确声明这个权限。

更新1

确保您已将http-package添加到您的pubspec.yaml文件中,并确保它正确地用两个空格缩进。

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  http: ^0.12.0+4

0
投票

你是否在清单中添加了互联网权限?如果你从Android应用访问互联网,你需要在应用标签上添加互联网权限。

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

© www.soinside.com 2019 - 2024. All rights reserved.