Flutter 插件项目:未找到位置\ web。请更新settings.gradle。我该如何解决这个问题?
我在我的android颤振应用程序中使用了google地图api和location pub,dev包,并尝试使用api中的url显示图像。 这是带有一些代码的url:Flutter 插件项目:未找到位置\ web。请更新settings.gradle。我该如何解决这个问题?,flutter,dart,google-maps-api-3,flutter-dependencies,flutter-web,Flutter,Dart,Google Maps Api 3,Flutter Dependencies,Flutter Web,我在我的android颤振应用程序中使用了google地图api和location pub,dev包,并尝试使用api中的url显示图像。 这是带有一些代码的url: class LocationHelper{ static String mapviewpointer({double latitude, double longitude}){ return "https://maps.googleapis.com/maps/api/staticmap?center=$lat
class LocationHelper{
static String mapviewpointer({double latitude, double longitude}){
return "https://maps.googleapis.com/maps/api/staticmap?center=$latitude,$longitude&zoom=13&size=600x300&maptype=roadmap&markers=color:pink%7Clabel:C%7C$latitude,$longitude&key=$GOOGLE_API_KEY";
}
}
它抛出了以下错误消息:
插件项目:未找到位置\u web。请更新settings.gradle代码>
我不知道如何修复这个错误
这是我在终端中收到的另一个错误:
I/flutter (21880): Invalid argument(s): No host specified in URI file:///Instance%20of%20'Future%3CString%3E'
我收到上述错误消息的区域位于我的代码中:
Future <String> _getUserLocation() async{
final locData = await Location().getLocation();
final staticMapUrl = LocationHelper.mapviewpointer(
latitude: locData.latitude,
longitude: locData.longitude,
);
return staticMapUrl;
}
final mapview = _getUserLocation();
class NearbyScreen extends StatelessWidget {
@override
//LocationHelper.mapviewpointer(latitude: )
Widget build(BuildContext context) {
return Column(
children: <Widget>[
Container(height:170, width: double.infinity,
child:Image.network(mapview.toString())
),
Text("hello"),
],
);
}
}
Future\u getUserLocation()异步{
最终位置数据=等待位置().getLocation();
最终staticMapUrl=LocationHelper.mapviewpointer(
纬度:locData.latitude,
经度:locData.longitude,
);
返回staticMapUrl;
}
最终地图视图=_getUserLocation();
类NearbyScreen扩展了无状态小部件{
@凌驾
//LocationHelper.mapviewpointer(纬度:)
小部件构建(构建上下文){
返回列(
儿童:[
容器(高度:170,宽度:无限大),
子项:Image.network(mapview.toString())
),
文本(“你好”),
],
);
}
}
这是否与我在\u getUserlocation
函数中返回的是未来
而不是字符串
有关?如何修复此问题?使用以下设置。gradle
:
include ':app'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
这将创建一个.flatter plugin
文件,该文件将包含插件及其路径。我遇到了同样的问题,在@Peter Haddad answer之后,我复制并替换了settings.gradle(所有)中的代码,并且我在解析属性和文件的符号时出错
要修复它:转到工具->颤振->在Android Studio中打开进行编辑
在Android Studio窗口中,转到文件->使缓存无效并重新启动
这似乎为我解决了这个问题。加入你的颤振应用程序->安卓->设置。gradle
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
如所见
有关此问题的更多信息删除ProjectName/Build文件夹,它已为我解决了此问题。修复已安装facebook flipper的用户
我本想将此添加为注释,但让我将其作为答案发布,以获得正确的代码格式
如果你安装了facebook的flipper,并带有相对的FlitterKit插件,那么你的设置.gradle
应该已经修改过了
要使用@Peter Haddad和@Paulo Belo建议的修复程序,您需要继续加载flipper的插件,并添加其他条件:
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
if (name == 'flutter_flipperkit') {
// flipper loading
include ':flipper-no-op'
project(':flipper-no-op').projectDir = new File(pluginDirectory, 'flipper-no-op')
}
else {
// location_web not found fix
include ":$name"
project(":$name").projectDir = pluginDirectory
}
}
希望这对某人有所帮助。您能展示一下您的pubspec.yaml
?非常感谢!但是,在尝试显示映射图像时,我仍然收到此错误消息:“I/flatter(10600):解析图像编解码器时引发以下ArgumentError:I/flatter(10600):无效参数:URI中未指定主机file:///Instance%20of%20“未来的%3CString%3E”这里会出现什么问题?在代码的哪一行,您从哪里得到这个错误?或者在做了什么之后?getUserLocation()
返回一个Future
,而Image.network
需要一个url。。因此,最好使用FutureBuilder
并在其中调用Image.network
Image为什么会发生此错误?这个脚本做什么?顺便说一句,我检查了我的.flatter plugins
文件,它是由一个最新的flatter版本创建的,它包含了位置和web路径。可能正如@PeterHaddad所说的,一些插件不支持新的设置定义,不需要打开Android Studio来清理缓存,请在终端中使用以下命令:flatter clean
在AndroidStudio 4.1中,您可以从“工具”菜单执行fflutter/clean