propriedade desconhecida 'supportLibVersion' para o objeto do tipo org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

15

Estou recebendo o seguinte erro

Não foi possível obter a propriedade desconhecida 'supportLibVersion' para o objeto do tipo org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHand

Estou trabalhando no aplicativo react-native e as dependências react-native-maps estão abaixo nas quais estou recebendo erro

 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'
    }

Alguém tem idéia do que está errado aqui?

O erro no terminal é

FAILURE: Falha na compilação com uma exceção.

Onde:
Build file 'D: \ react native \ abhishek \ Gwala \ node_modules \ react-native-maps \ lib \ android \ build.gradle' ': 20

O que deu errado:
ocorreu um problema ao avaliar o projeto ': react-native-maps'.
Não foi possível obter a propriedade desconhecida 'supportLibVersion' para o objeto do tipo org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

linha 20 é

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

Respostas:

30

Adicionar supportLibVersion = "28.0.0"dentro android/build.gradle->ext

exemplo:

ext {
  buildToolsVersion = "28.0.3"
  minSdkVersion = 16
  compileSdkVersion = 28
  targetSdkVersion = 28
  supportLibVersion = "28.0.0"
}
Dhaval Kotecha
fonte
Olá @Dhaval, obrigado pela sua resposta. Você se importaria de editar sua postagem com uma explicação que possa ensinar aos outros como sua resposta resolve o problema em questão?
Rob Streeting
trabalhou para mim. basta adicionar supportLibVersion = "28.0.0" à seção ext no arquivo build.gradle.
Batuhan Akkaya
Obrigado. Para tornar as coisas mais claras, o arquivo build.gradle que deve ser editado é o do android, não do android / app. android / build.gradle possui o buildscript {ext {}} na parte superior.
Brian Hong
Graças @Mahdi após luta de dois dias finalmente obter uma resposta, é esta vontade funcionam bem em ios também
Puneet Kansal
@ Mahdi se eu estou criando um novo projeto e adicionar react-native-maps, então ele está funcionando bem se eu estiver usando meu projeto antigo, então estou recebendo erro. Eu não sei porque
Puneet Kansal
3

Tente instalá-lo diretamente do github:

npm install --save git+https://[email protected]/react-native-community/react-native-maps.git

Irfan Khan
fonte
Obrigado funcionou :)
Anshuman Pattnaik 29/01
2

Resolvi esse problema após estas etapas:

  1. Adicione esta linha a \node_modules\react-native-maps\lib\android\build.gradle -- line: 20

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

  2. No AndroidManifest.xmlsub <application>:

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

Abdumutal Abdusamatov
fonte
0

No seu arquivo build.gradle dentro do diretório android

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

encontre a seção ext e adicione

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

isso deve fazer o trabalho.

Roberto Ruiz Go
fonte