thuộc tính không xác định 'supportLibVersion' cho đối tượng loại org.gradle.api.i INTERNal.artifacts.dsl.dependencies.DefaultDependencyHandler


15

Tôi đang gặp lỗi sau

Không thể nhận được thuộc tính không xác định 'supportLibVersion' cho đối tượng loại org.gradle.api.i INTERNal.artifacts.dsl.dependencies.DefaultDependencyHand

Tôi đang làm việc trên ứng dụng gốc phản ứng và các phụ thuộc bản đồ phản ứng ở bên dưới mà tôi đang gặp lỗi

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

Bất cứ ai có ý tưởng những gì là sai ở đây?

Lỗi trong thiết bị đầu cuối là

FAILURE: Build thất bại với một ngoại lệ.

Trong đó:
Xây dựng tệp 'D: \ Reacigen \ abhishek \ Gwala \ node_modules \ Reac -igen-maps \ lib \ android \ build.gradle': 20

Điều gì đã sai:
Một vấn đề xảy ra khi đánh giá dự án ': Reac -igen-maps'.
Không thể nhận được thuộc tính không xác định 'supportLibVersion' cho đối tượng loại org.gradle.api.i INTERNal.artifacts.dsl.dependencies.DefaultDependencyHandler.

dòng 20 là

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

Câu trả lời:


30

Thêm vào supportLibVersion = "28.0.0"bên trong android/build.gradle->ext

thí dụ:

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

Xin chào @Dhaval, cảm ơn câu trả lời của bạn. Bạn có phiền khi chỉnh sửa bài đăng của mình bằng một lời giải thích có thể dạy người khác cách câu trả lời của bạn giải quyết vấn đề đang đề cập không?
Rob Streeting

đã làm cho tôi. chỉ cần thêm supportLibVersion = "28.0.0" vào phần mở rộng trong tệp build.gradle.
Batuhan Akkaya

Cảm ơn. Để làm cho mọi thứ rõ ràng hơn, tệp build.gradle sẽ được chỉnh sửa là tệp trong Android, không phải trong Android / ứng dụng. android / build.gradle có bản dựng {ext {}} trên đầu trang.
Brian Hồng

@Mahdi Cảm ơn sau khi đấu tranh hai ngày cuối cùng cũng nhận được câu trả lời, liệu điều này cũng sẽ hoạt động tốt trong ios
Puneet Kansal

@Mahdi nếu tôi đang tạo dự án mới và thêm bản đồ phản ứng tự nhiên thì nó hoạt động tốt nếu tôi đang sử dụng dự án cũ của mình thì tôi gặp lỗi. tôi không biết tại sao
Puneet Kansal


3

Hãy thử cài đặt nó trực tiếp từ github:

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


Cảm ơn nó đã hoạt động :)
Anshuman Pattnaik

2

Tôi đã giải quyết vấn đề này sau các bước sau:

  1. Thêm dòng này vào \node_modules\react-native-maps\lib\android\build.gradle -- line: 20

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

  2. AndroidManifest.xmldưới <application>:

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



0

Trong tập tin build.gradle của bạn trong thư mục android

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

tìm phần mở rộng và thêm

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

điều đó nên làm việc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.