java.lang.NoSuchMethodError: Không có phương thức tĩnh nào làAtLeastR () Z


8

Ứng dụng của tôi đang chạy tốt nhưng đột nhiên tôi bắt đầu gặp lỗi này

java.lang.NoSuchMethodError: Không có phương thức tĩnh nào làAtLeastR () Z trong lớp Landroidx / core / os / BuildCompat; hoặc các siêu lớp của nó (khai báo 'androidx.core.os.BuildCompat' xuất hiện trong /data/app/com.app.goflatmate-RZKwS2h6hav==/base.apk) tại com.google.android.gms.common.util. PlatformVersion.isAtLeastR (com.google.android.gms: play-services-basement @@ 17.2.0: 21) tại com.google.android.gms.common.api.GoogleApi.zaa (com.google.android.gms: play-services-base @@ 17.2.0: 128) tại com.google.android.gms.common.api.GoogleApi. (com.google.android.gms: play-services-base @@ 17.2.0: 23) tại com.google.android.gms.common.api.GoogleApi. (com.google.android.gms: play-services-base @@ 17.2.0: 54) tại com.google.android.gms.auth.api. đăng nhập.GoogleSignInClient. (Nguồn không xác định: 3) tại com.google.android.gms.auth.api.signin.

Vấn đề đang đến trong dòng này

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestEmail()
                .build(); 

mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

Bằng cách nào đó, androidx.core.os.BuildCompattừ biên dịch và thực thi không đồng ý.
greybeard

Câu trả lời:


11

Tôi cũng gặp vấn đề này với React Native. Tôi đã sửa nó bằng cách đặt cái này trong ứng dụng / build.gradle của tôi:

dependencies {
    // ...
    implementation 'com.google.android.gms:play-services-base:17.1.0'
    // ...
}

Đó là do một sự thay đổi đột phá được giới thiệu bởi thư viện cơ sở dịch vụ chơi của Google vài ngày trước. Nếu bạn sử dụng, implementation 'com.google.android.gms:play-services-base:+'nó sẽ tải xuống phiên bản mới nhất của thư viện, giới thiệu lỗi đó vào ứng dụng của bạn. Mong rằng sẽ giúp.


Thật tò mò rằng vấn đề này chỉ xảy ra trên Android 10. Các phiên bản cũ hơn đã hoạt động tốt. Nhưng việc thay đổi thành phiên bản cụ thể đã tạo ra mánh khóe cho tất cả các phiên bản.
Gabriel Guarnieri Cardoso

3
Vâng. Họ cũng không thực sự ghi lại những gì họ đã thay đổi để bạn không biết cho đến khi ứng dụng của bạn gặp lỗi.
Aditya Gune

1
Vâng, anh bạn. Bạn đã cứu ngày cách ly của tôi
Pavel Nikolaev

Một số vấn đề là có với v 17.2.0. Hạ cấp xuống v17.1.0 đã lưu ngày của tôi. Bản cập nhật mới v17.2.1 dường như cũng hoạt động
Sarthak Mishra

3
/**
     * Checks if the device is running on a pre-release version of Android R or newer.
     * <p>
     * <strong>Note:</strong> This method will return {@code false} on devices running release
     * versions of Android. When Android R is finalized for release, this method will be deprecated
     * and all calls should be replaced with {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.R}.
     *
     * @return {@code true} if R APIs are available for use, {@code false} otherwise
     */
    public static boolean isAtLeastR() {
        return VERSION.CODENAME.length() == 1 && VERSION.CODENAME.charAt(0) >= 'R'
                && VERSION.CODENAME.charAt(0) <= 'Z';
    }

Android Q là một bản phát hành hoàn chỉnh và phương pháp này không còn cần thiết nữa. Nó sẽ bị xóa trong một bản phát hành tương lai của Thư viện hỗ trợ.

Phiên bản hạ cấp vui lòng

 implementation 'com.google.android.gms:play-services-base:17.1.0'
 implementation 'com.google.android.gms:play-services-base:17.0.0' //OR

2

Lỗi là trong com.google.android.gms:play-services-base:17.2.0các câu trả lời trước đó nói rằng việc hạ cấp xuống 17.1.0 là chính xác, nhưng Google đã khắc phục sự cố ngay bây giờ, vì vậy bạn có thể nâng cấp lên 17.2.1 và nó cũng hoạt động tốt.

Ba cái này đã được cập nhật cùng nhau, vì vậy hãy nâng chúng lên nếu bạn đang sử dụng chúng:

com.google.android.gms:play-services-base:17.2.1
com.google.android.gms:play-services-basement:17.2.1
com.google.android.gms:play-services-tasks:17.0.2

Nguồn: https://developers.google.com/android/guides/release


0

Tôi đã sửa nó bằng cách đặt cái này trong ứng dụng / build.gradle của tôi

dependencies {
    // ...
    configurations.all {
        resolutionStrategy.force 'com.google.android.gms:play-services-base:17.1.0'
    }
}
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.