properti tidak dikenal 'supportLibVersion' untuk objek bertipe org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler


15

Saya mendapatkan kesalahan berikut

Tidak dapat memperoleh properti 'supportLibVersion' yang tidak dikenal untuk objek bertipe org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHand

Saya sedang mengerjakan aplikasi reaksi-asli dan dependensi reaksi-peta-asli di bawah ini di mana saya mendapatkan kesalahan

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

Adakah yang tahu apa yang salah di sini?

Kesalahan dalam terminal adalah

KEGAGALAN: Build gagal dengan pengecualian.

Di mana:
Bangun file 'D: \ react native \ abhishek \ Gwala \ node_modules \ react-native-maps \ lib \ android \ build.gradle' baris: 20

Apa yang salah:
Terjadi masalah saat mengevaluasi proyek ': react-native-maps'.
Tidak dapat memperoleh properti 'supportLibVersion' yang tidak dikenal untuk objek bertipe org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

jalur 20 adalah

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

Jawaban:


30

Tambahkan supportLibVersion = "28.0.0"di dalam android/build.gradle->ext

contoh:

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

Hai @Dhaval, terima kasih atas jawaban Anda. Maukah Anda mengedit posting Anda dengan penjelasan yang dapat mengajari orang lain bagaimana jawaban Anda memecahkan masalah yang dimaksud?
— Rob Streeting

bekerja untukku. cukup tambahkan supportLibVersion = "28.0.0" ke bagian ext di file build.gradle.
— Batuhan Akkaya

Terima kasih. Untuk membuatnya lebih jelas, file build.gradle yang akan diedit adalah yang ada di android, bukan di android / app. android / build.gradle memiliki buildscript {ext {}} di atas.
— Brian Hong

@ Mahdi Terima kasih setelah perjuangan dua hari akhirnya mendapatkan jawaban, apakah ini akan berfungsi dengan baik di ios juga
— Puneet Kansal

@ Mahdi jika saya membuat proyek baru dan menambahkan reaksi-asli-peta maka itu berfungsi dengan baik jika saya menggunakan proyek lama saya maka saya mendapatkan kesalahan. Saya tidak tahu mengapa
— Puneet Kansal


3

Coba pasang langsung dari github:

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


Terima kasih itu berhasil :)
— Anshuman Pattnaik

2

Saya memecahkan masalah ini setelah langkah-langkah ini:

  1. Tambahkan baris ini ke \node_modules\react-native-maps\lib\android\build.gradle -- line: 20

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

  2. Di AndroidManifest.xmlbawah <application>:

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



0

Di file build.gradle Anda di dalam direktori android

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

temukan bagian ext dan tambahkan

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

yang seharusnya melakukan pekerjaan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.