Build не может найти внедрение зависимости из библиотеки Foursquare в Graddle - PullRequest
0 голосов
/ 11 апреля 2020

Здравствуйте, ребята: я использую следующий сценарий для Android разработки собственных приложений:

Android Studio 3.6.2 Плагин Graddle 3.6.2 Graddle версия 5.6.4 Kotlin версия 1.3. 61

Когда я делаю это внедрение зависимостей в свой build.graddle

Implementation 'com.foursquare:foursquare-android-oauth:1.1.0'

Следующий класс: android. net .ConnectivityManager

не может быть найдено в процессе сборки. Или, по крайней мере, он не имеет ожидаемых свойств.

Я реализовал следующий метод для обнаружения соединения inte rnet:

package com.example.ejoauth.networkconnection

import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities

class NetworkConnectionStatus {

    companion object {

        // This code depends on the target SDK version
        fun isInternetAvailable(context: Context): Boolean {
            var result : Boolean = false
            val connectivityManager: android.net.ConnectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as android.net.ConnectivityManager
            val network : android.net.Network = connectivityManager.activeNetwork ?: return false // <---- Error
            val nwCap : android.net.NetworkCapabilities = connectivityManager.getNetworkCapabilities(network) ?: return false // <---- Error
            result = when {
                nwCap.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
                nwCap.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
                nwCap.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
                else -> false
            }
            return result
        }
    }
}

В процессе сборки вызываются следующие ошибки ( появляется только после внедрения зависимости "Foursquare")

D: \ clcwork \ kotlin \ EjOauth \ app \ src \ main \ java \ com \ example \ ejoauth \ networkconnection \ NetworkConnectionStatus.kt: (15, 69): Неразрешенная ссылка: activeNetwork D: \ clcwork \ kotlin \ EjOauth \ app \ src \ main \ java \ com \ example \ ejoauth \ networkconnection \ NetworkConnectionStatus.kt: (16, 79): Неразрешенная ссылка : getNetworkCapabilities

Кажется, что библиотеки "Foursquare" перезаписывают некоторые выражения или пакеты другой реализацией, в которой атрибуты или методы теряются. Единственное решение, которое я нашел до сих пор, не реализует этот метод «NetworkConnectionStatus.isInternetAvailable». Но это не решение. Как видите, я явно указываю пакеты в моем коде.

Можете ли вы мне помочь, пожалуйста?

Заранее благодарю

...