类型org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler类型的对象的未知属性'supportLibVersion'


15

我收到以下错误

无法获得类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHand的对象的未知属性'supportLibVersion'

我正在开发本机应用程序,并且本机映射依赖项在下面出现错误

 dependencies {
      def supportLibMajorVersion = supportLibVersion.split('\\.')[0] as int
      def appCompatLibName =  (supportLibMajorVersion < 20) ? "androidx.appcompat:appcompat" : "com.android.support:appcompat-v7"
      implementation "$appCompatLibName:$supportLibVersion"
      implementation('com.facebook.react:react-native:+') {
        exclude group: 'com.android.support'
      }
      implementation "com.google.android.gms:play-services-base:${safeExtGet('playServicesVersion', '16.1.0')}"
      implementation "com.google.android.gms:play-services-maps:${safeExtGet('playServicesVersion', '16.1.0')}"
      implementation 'com.google.maps.android:android-maps-utils:0.5'
    }

有人知道这是怎么回事吗?

终端中的错误是

失败:构建失败,发生异常。

其中:
构建文件'D:\ react native \ abhishek \ Gwala \ node_modules \ react-native-maps \ lib \ android \ build.gradle'行:20

出了什么问题:
评估项目':react-native-maps'时发生问题。
无法获得类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象的未知属性'supportLibVersion'。

第20行是

def supportLibMajorVersion = supportLibVersion.split('\\.')[0] as int

Answers:


30

supportLibVersion = "28.0.0"在里面添加android/build.gradle->ext

例:

ext {
  buildToolsVersion = "28.0.3"
  minSdkVersion = 16
  compileSdkVersion = 28
  targetSdkVersion = 28
  supportLibVersion = "28.0.0"
}

嗨@Dhaval,谢谢您的回答。您介意用可以解释他人的答案来解释您的问题的解释来编辑帖子吗?
罗伯街

为我工作。只需在build.gradle文件的ext部分中添加supportLibVersion =“ 28.0.0”。
巴图汉·阿卡亚

谢谢。为了使事情更清楚,要编辑的build.gradle文件是android中的文件,而不是android / app中的文件。android / build.gradle在顶部具有buildscript {ext {}}。
Brian Hong

@Mahdi感谢挣扎两天后终于得到答案,是在IOS这将正常工作也
普尼特Kansal

@Mahdi,如果我正在创建新项目并添加react-native-maps,那么如果我正在使用旧项目,则工作正常,然后出现错误。我不知道为什么
普尼特Kansal



2

这些步骤后,我解决了这个问题:

  1. 将此行添加到 \node_modules\react-native-maps\lib\android\build.gradle -- line: 20

    def supportLibVersion = safeExtGet('supportLibVersion', '28.0.0')

  2. AndroidManifest.xml下面<application>

    <uses-library android:name="org.apache.http.legacy" android:required="false"/>



0

在您的文件build.gradle的android目录中

(... / YourApp / android / build.gradle)

找到扩展部分并添加

supportLibVersion =“ 28.0.0” ext {... supportLibVersion =“ 28.0.0”}

那应该做的工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.