无法在语句android.support.v4.content.LocalBroadcastManager上解析导入LocalBroadcastManager;

时间:2018-06-29 08:05:32

标签: android android-broadcastreceiver localbroadcastmanager

将Eclipse项目导入Android Studio时出现此错误。它显示了向类路径添加库Gradle: com.android.support:support-core-utils-27.1.1的建议。我已将库添加到我的build.gradle文件中。

这是我的gradle文件。

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
buildToolsVersion "28.0.0"

defaultConfig {
    applicationId "com.example.tracking"
    minSdkVersion 17
    targetSdkVersion 27
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
}

allprojects {
repositories {
    google()

}
}

dependencies {


implementation project(':asciiProtocol')
implementation project(':deviceList')
implementation project(':captureActivity')
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation "com.android.support:support-core-utils:27.1.1"
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.google.code.gson:gson:2.8.2'
implementation files('libs/opencsv-2.3.jar')
implementation files('libs/rfid.reader.api.jar')
implementation files('libs/scannercontrol.jar')
implementation files('libs/Zebra.jar')

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        }
    }
}
}

我用Google搜索了它,但找不到适合的解决方案。否则,我也尝试过this中的解决方案,它不是正确的解决方案。感谢您的帮助吗?

5 个答案:

答案 0 :(得分:3)

这是我在迁移AndroidX时发生的,解决方案是将import androidx.core.content.LocalBroadcastManager;替换为import androidx.localbroadcastmanager.content.LocalBroadcastManager;

答案 1 :(得分:1)

使用此

导入 androidx.localbroadcastmanager.content.LocalBroadcastManager;

代替

导入androidx.core.content.LocalBroadcastManager;

答案 2 :(得分:1)

经过大量搜索和研发,我找到了一些解决方案。这对我有用,希望对您有所帮助。

implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'

答案 3 :(得分:0)

我遇到了同样的问题,然后我注意到Google将v4支持库分为多个软件包。

  

注意:在支持库版本24.2.0之前,只有一个v4支持库。该库被分成多个模块以提高效率。为了向后兼容,如果在Gradle脚本中列出了support-v4,则APK将包括所有v4模块。但是,为了减小APK的大小,我们建议您仅列出应用所需的特定模块。

https://developer.android.com/topic/libraries/support-library/packages#v4

然后我检查了LocalBroadcast页面。 https://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager

页面顶部有说明

  

属于Maven工件com.android.support:localbroadcastmanager:28.0.0-alpha1

当我遇到此问题时,已经可以使用v28.0.0(不是alpha版本)。

最后,我更改了build.gradle中的设置。

之前

implementation 'com.android.support:support-v4:28.0.0'

之后

implementation 'com.android.support:localbroadcastmanager:28.0.0'

答案 4 :(得分:0)

对于较新的 Android 版本,您应该尝试将其添加到 gradle.properties

android.enableJetifier=true

然后将此依赖项添加到 build.gradle

implementation 'androidx.legacy:legacy-support-v4:1.0.0'