我是新来的。我已经使用颤振和 Firestore 构建了该应用程序。我正在使用流生成器获取数据列表。在 Stream builder 中,我使用 ListView.builder() 来展示内容。
问题是在调试 apk 中一切正常,但在发布 apk 或应用程序包中 ListView 不显示任何内容。它和空的可滚动内容。
我也成功签署了apk。我试过这个,因为我觉得签名的 apk 可能是个问题。但是,结果是一样的。
我是新来的。我已经使用颤振和 Firestore 构建了该应用程序。我正在使用流生成器获取数据列表。在 Stream builder 中,我使用 ListView.builder() 来展示内容。
问题是在调试 apk 中一切正常,但在发布 apk 或应用程序包中 ListView 不显示任何内容。它和空的可滚动内容。
我也成功签署了apk。我试过这个,因为我觉得签名的 apk 可能是个问题。但是,结果是一样的。
这些是应用程序处于发布模式并且仍然显示灰屏时可能出现的问题。
1-确保firebase和flutter绑定在main中初始化。如果您不使用 firebase,请忽略 firebase 代码。您需要将 async 添加到您的 main 中,如下例所示,然后在返回 runApp 的代码的其他部分
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
}
2-检查是否授予应用程序互联网权限。如果未提供 Internet 权限,则会出现灰屏错误AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
3-如果您在调试模式下运行应用程序,那么如果调试器或终端出现任何错误,那么您必须解决该问题。与 ListView 构建器一起犯错误是很常见的,比如如果你用一些容器包装它并展开或使用堆栈等,它可能在调试中工作,但在发布时它不会。
为了避免像数字 3 中描述的问题,在--release
模式下运行应用程序,因为发布模式会捕获此类错误,这些错误应该在发布应用程序后出现在真实设备上
flutter run --release