当前位置: 首页 > 知识库问答 >
问题:

Flutter异常无法解决com.google.android.gms: play-services-place: 16.

许昆
2023-03-14

伙计们

在尝试现在模拟应用程序时,终端抛出一个异常,应用程序将无法启动:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:processDebugResources'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.google.android.gms:play-services-location:16.+.
     Required by:
         project :app > project :location
      > Failed to list versions for com.google.android.gms:play-services-location.
         > Unable to load Maven meta-data from https://google.bintray.com/exoplayer/com/google/android/gms/play-services-location/maven-metadata.xml.
            > Could not get resource 'https://google.bintray.com/exoplayer/com/google/android/gms/play-services-location/maven-metadata.xml'.
               > Could not GET 'https://google.bintray.com/exoplayer/com/google/android/gms/play-services-location/maven-metadata.xml'. Received status code 502 from server: Bad Gateway

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 37s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

扑动医生结果:

[√] Flutter (Channel stable, 1.22.5, on Microsoft Windows [versão 10.0.19041.1348], locale pt-BR)
 
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Android Studio (version 3.6)
[√] Connected device (1 available)

我已经尝试在*project/android/build中替换“jcenter”。gradle*通过*mavenCentral*如下所示,正如这里和这里所报告的,但这并没有解决问题

repositories {
    google()
    mavenCentral()
    maven {
        url "https://maven.google.com"
    }
}

我强调,项目工作正常,这发生在这个时候。

我请求帮助解决这个问题。

共有2个答案

陆飞鸿
2023-03-14

作为切换到另一个位置插件(可能需要大量工作和测试)的替代方法,我找到了一个解决方法。下面列出的步骤是针对IntelliJ IDEA的,在其他IDE中情况可能会略有不同。

  1. 在Project工具窗口(其中列出了您的文件)中,向下滚动,直到找到Flutter Plugins。如果您没有看到它,请确保在项目工具窗口顶部的下拉列表中选择了Project
  2. 打开Flutter插件,找到loction-4.0.0并打开它(您可能在location-之后有不同的版本号,这很好)。
  3. 打开文件loction-4.0.0/android/build.gradle
  4. 查找行api'com.google.android.gms: play-services-place: 16.'
  5. 将其更改为api'com.google.android.gms: play-services-place: 16.0.0'。如果您的编辑器说该文件不属于您的项目,请选择我想无论如何编辑此文件

您现在应该可以构建应用程序了。

这个改变当然是一个丑陋的黑客行为,如果你更新位置插件,你的改变将被覆盖。但至少在Bintray再次上线之前(或者在您有时间迁移到另一个位置插件之前),您可以进行构建。

臧正平
2023-03-14

在试图再次模拟应用程序时,在终端上显示错误之前,它向我显示了以下html" target="_blank">消息:“插件项目:location_web未找到。请更新settings.gradle.",我发现在我的项目中,错误是由位置包引起的,它依赖于location_web

解决方案就是说,在他们解决问题之前,解决方案不是使用“location”包,而是用一个不具有此location\u web依赖性的包替换它。我使用“geolocator”软件包实现了这一点,在我的例子中,我需要它来获取地理坐标并调用另一个返回地址数据的函数,如下所示:

按公共规范。亚马尔:

# location: ^3.0.0
geolocator: '6.2.1'

我执行命令:

flutter pub get

在Android清单文件中,我添加了:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

对于我所需要的,即获取地理坐标,我使用“geolocator”替换以前使用“location”包的代码,如下所示:

import 'package:geolocator/geolocator.dart';

Future _obtemCoordenadas() async {
    LocationPermission permissao;
    Position _dadosLocalizacao;

    await Geolocator.requestPermission();

    permissao = await Geolocator.checkPermission();
    if (permissao == LocationPermission.denied) {
      permissao = await Geolocator.requestPermission();
      if (permissao == LocationPermission.denied) {
        return;
      }
    }

    if (permissao == LocationPermission.deniedForever) {
      return;
    }

    if (permissao == LocationPermission.always) {
      _dadosLocalizacao = await Geolocator.getCurrentPosition();
      var latitude = _dadosLocalizacao.latitude;
      var longitude = _dadosLocalizacao.longitude;
      localizacao.latitude = latitude.toString();
      localizacao.longitude = longitude.toString();
    }
  }
 类似资料:
  • 不管怎么说,我从与此相关的过多的问题中尝试了很多东西都无济于事。具体地说,我必须指出,我的Android SDK已经正确更新了,而且我确信它就是Idea正在使用的那个(我已经对此进行了三次检查...): 我使用的是API26级,但其他定义对Android SDK使用的目录是完全相同的。此外,我没有安装任何其他android SDK,在这台笔记本电脑,所以没有任何问题的想法是使用那一个和那一个只。

  • 最近我得到以下关于flutter的构建错误: 无法确定任务“:app:processDebugResources”的依赖项。 无法解决配置的所有任务依赖关系: app: dedegRuntimeClasspath。无法解决com.google.android.gms: play-services-ads-base:[19.7.0]。所需:项目:应用程序 我相信这是由于bintray被贬值。这是我的

  • 问题内容: 我的依赖: 但仍然:Google Play服务已过时。需要5208000但找到了5089036 这怎么可能? 更新这项工作: 要么 要么 问题答案: 如果您看不到任何更新,请等到设备上的Play商店更新Google Play服务。 Play商店-Google Play服务 或者,在Google上搜索并安装新的APK,或使用旧版本(如5.0.77或5.0.89)

  • 本文向大家介绍java.net.MalformedURLException异常的解决方法,包括了java.net.MalformedURLException异常的解决方法的使用技巧和注意事项,需要的朋友参考一下 代码中URL url = new URL(someUrl);这一行出现java.net.MalformedURLException异常 解决方法是,对someUrl中的参数名和参数值都UR

  • 我正在尝试使用IVY,并且我已经在springsource工具套件中设置了我的IVY-de。 在尝试构建我的工作空间时,我得到了以下错误。 说明资源路径位置类型类路径发布/导出依赖项C:/Users/user1/.ivy2/cache/jstl/jstl.jars/jstl-1.2.jar无效。项目包含另一个具有相同存档名称的依赖项。Web P/Web类路径依赖关系验证器消息 在这方面,我们非常感

  • 库com.google.android.gms:play-services-measurement-base正在被[[15.0.0,15.0.0],[15.0.2,15.0.2]]的其他库请求,但解析为15.0.2。禁用该插件并使用./gradlew:app:dependencies检查您的依赖项树。