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
Abhishek Yadav
sumber

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"
}
Dhaval Kotecha
sumber
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://[email protected]/react-native-community/react-native-maps.git

Irfan Khan
sumber
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"/>

Abdumutal Abdusamatov
sumber
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.

Roberto Ruiz Go
sumber