web-dev-qa-db-ja.com

ステートメントAndroid.support.v4.content.LocalBroadcastManagerでインポート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'
            }
        }
    }
}
}

私はそれをググりましたが、これに対する適切な解決策を見つけることができませんでした。しかし、私は this からの解決策を試しましたが、これは適切な解決策ではありません。何か助けていただけませんか?

14
Jack

同じ問題に直面すると、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(アルファ版ではない)が利用可能になりました。

最後に、build.gradle

before

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

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

AndroidX

implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
19
wf9a5m75

AndroidXへの移行中にこれが発生し、解決策は「import androidx.core.content.LocalBroadcastManager; "とimport androidx.localbroadcastmanager.content.LocalBroadcastManager;

編集、実装を含めるために必要に応じて、依存関係を忘れないでください:

implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'

ターゲットとビルドのバージョンは次のとおりです。

compileSdkVersion 29
buildToolsVersion '29.0.2'
10
Atef Farouk