[react-native] org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 유형의 오브젝트에 대한 알 수없는 특성 ‘supportLibVersion’

다음과 같은 오류가 발생합니다.

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



답변

supportLibVersion = "28.0.0"안에 추가 android/build.gradle->ext

예:

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


답변

추가 supportLibVersion = "28.0.0"buildscriptandroid/build.gradle

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0"  // <=== add this line
    }

    ...
}

https://github.com/react-native-community/react-native-maps/issues/3108#issuecomment-552795543


답변

github에서 직접 설치하십시오.

npm install --save git+https://git@github.com/react-native-community/react-native-maps.git


답변

이 단계 후에이 문제를 해결했습니다.

  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"/>


답변

아래 줄을 추가하십시오 node_modules/react-native-maps/lib/android/build.gradle:

아래에 dependencies

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

예 :
https://github.com/react-native-community/react-native-maps/blob/master/lib/android/build.gradle

도움이 되길 바랍니다.


답변

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

(… / YourApp / android / build.gradle)

ext 섹션을 찾아 추가

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

그 일을해야합니다.


답변