画廊和相机在调试中正确打开(使用模拟器和真实设备),包要求权限(我在android list 中设置它们),接受它们后画廊打开。没有警告/错误。当我使用 flutter build apk --release
发布应用程序时并在我的手机上进行测试(小米红米 Note 7)图像选择器不会打开图库。该按钮不执行任何操作,应用程序也不会崩溃。我没试flutter build apk --debug
但我打赌它会起作用。正如我所说,我拥有最新版本的 image_picker、api 29、权限,并尝试使用 flutter clean 进行重建。该软件包基本上可以正常工作,但未处于 Release模式。有什么建议吗?
图像选择器类
import 'dart:io';
import 'package:image_picker/image_picker.dart';
import 'package:flutter/material.dart';
class ImageUpload extends StatefulWidget {
@override
_ImageUploadState createState() => _ImageUploadState();
}
class _ImageUploadState extends State<ImageUpload> {
File _image;
Future getImage() async {
var image = await ImagePicker.pickImage(source: ImageSource.gallery);
setState(() {
_image = image;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Image Picker Example'),
),
body: Center(
child: _image == null ? Text('No image selected.') : Image.file(_image),
),
floatingActionButton: FloatingActionButton(
onPressed: getImage,
tooltip: 'Pick Image',
child: Icon(Icons.image),
),
);
}
}
安卓 list
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
最佳答案
我的解决方案是运行 flutter run --release
(连接设备)并且图像选择器工作正常。该应用程序会自动安装在您的设备上,但您通常可以在那里找到可用的 apk build\app\outputs\apk\release\app-release.apk
(控制台将打印路径)。
感谢以上评论的提示。
关于flutter - Flutter 的图像选择器未在应用程序版本中打开图库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61997774/