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

답변:


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 님, 답변 주셔서 감사합니다. 답변이 문제를 해결하는 방법을 다른 사람들에게 알려줄 수있는 설명으로 게시물을 편집 하시겠습니까?
Rob Streeting

나를 위해 일했다. build.gradle 파일의 ext 섹션에 supportLibVersion = "28.0.0"을 추가하십시오.
Batuhan Akkaya

감사. 보다 명확하게하기 위해 편집 할 build.gradle 파일은 android / app가 아니라 android에있는 파일입니다. android / build.gradle에는 빌드 스크립트 {ext {}}가 있습니다.
Brian Hong

@Mahdi 투쟁 후 이틀이 마침내 대답을 얻을, 이것은 ios에서도 잘 작동 할 것입니다
Puneet Kansal

@Mahdi 새 프로젝트를 만들고 반응 네이티브 맵을 추가하면 이전 프로젝트를 사용하면 오류가 발생합니다. 나는 왜 그런지 모르겠다
Puneet 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

android 디렉토리의 build.gradle 파일에서

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

ext 섹션을 찾아 추가

supportLibVersion = "28.0.0"ext {... supportLibVersion = "28.0.0"}

그 일을해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.