AndroidX로 마이그레이션 할 때 변수 ‘$ {animal.sniffer.version}’을 (를) 해결하지 못했습니다. } dependencies {

Android Studio 3.2 Beta5 를 사용하여 프로젝트를 AndroidX 로 마이그레이션하고 있습니다. 앱을 다시 빌드하면 다음 오류가 발생합니다.

오류 : [TAG] 변수 ‘$ {animal.sniffer.version}’을 (를) 해결하지 못했습니다.

오류 : [TAG] 변수 ‘$ {junit.version}’을 (를) 해결하지 못했습니다.

완전 청소 및 재 구축이 작동하지 않았습니다! 누구든지 이것을 고치는 방법을 알고 있습니까?


gradle.properties

android.enableJetifier=true
android.useAndroidX=true

build.gradle

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0-beta05'

        classpath 'com.google.gms:google-services:4.0.1'
        classpath "io.realm:realm-gradle-plugin:5.3.1"
        classpath 'io.fabric.tools:gradle:1.25.4'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app / build.gradle

apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'
apply plugin: 'com.google.firebase.firebase-perf'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.0"
    defaultConfig {
        applicationId "com.iceteaviet.fastfoodfinder"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    aaptOptions {
        cruncherEnabled = false
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'

    implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'

    implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
    implementation 'com.google.android.material:material:1.0.0-rc01'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc01'
    implementation 'androidx.cardview:cardview:1.0.0-rc01'

    implementation 'com.google.maps.android:android-maps-utils:0.5'
    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.1'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'

    implementation 'com.github.bumptech.glide:glide:4.7.1'

    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

    implementation 'org.greenrobot:eventbus:3.1.1'

    implementation 'de.hdodenhof:circleimageview:2.2.0'

    implementation 'io.realm:realm-android-library:5.3.1'

    implementation 'com.facebook.android:facebook-android-sdk:4.34.0'

    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.0.2'

    implementation 'androidx.multidex:multidex:2.0.0'

    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
    implementation 'com.google.firebase:firebase-perf:16.0.0'

    implementation 'com.jakewharton.timber:timber:4.7.1'

    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
}

apply plugin: 'com.google.gms.google-services'



답변

두 단계로이 문제를 해결합니다

1) 파일-> 캐시 무효화 / 재시작 …
여기에 이미지 설명을 입력하십시오

2) 빌드-> 프로젝트 정리
여기에 이미지 설명을 입력하십시오


답변

AndroidX Test dependencies로 build.gradle 파일을 업데이트 한 후 동일한 오류가 발생했습니다 . 이전 junit 종속성을 제거하는 것을 잊었습니다. 그래서 나를 위해 수정은 단순히 다음 종속성을 제거하는 것이 었습니다.

dependencies {
    ...
    testImplementation 'junit:junit:4.12'
}


답변

build.gradle 파일에 Java 8 지원 을 추가 하여 문제가 해결되었습니다.

android {
     ...

     //Add the following configuration in order to target Java 8.
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
}


답변

글라이드 문제 인 것 같습니다 .

나는 같은 오류가 있었고 방금 글라이드의 종속성을 4.8로 업데이트했으며 빌드 오류가 없습니다.

코 틀린 :

// Glide
def glide_version = "4.8.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
kapt "com.github.bumptech.glide:compiler:$glide_version"

자바 :

// Glide
def glide_version = "4.8.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"

gradle.properties에서 활성화해야합니다.

android.useAndroidX=true
android.enableJetifier=true

출처 : https://github.com/bumptech/glide/issues/3124

희망이 당신을 도울 것입니다!


답변

기본 디렉토리로 이동하여 다음을 입력하여 수정했습니다. flutter clean


답변

testInstrumentationRunner 제거는 나를 위해 일했습니다 :

defaultConfig {
...
...
//        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }


답변

당신이 사용하는 경우 Kotlin사용하지 않는 경우, 문제가 팝업됩니다 kapt프로젝트에서 사용하는 주석 프로세서 버전.
@Vince과 함께 사건을 언급 한 바와 같이 Glide이 일어날 수, Dagger2, Butterknife, 등
이 모두를 사용하는 경우 JavaKotlin다음과 같이 두 종속성을 유지해야합니다 (있었다 것은 $glideVersion미리 정의 된 버전입니다 Glide) :

implementation "com.github.bumptech.glide:glide:$glideVersion"

kapt "com.github.bumptech.glide:compiler:$glideVersion"

당신은에있는 경우 Kotlin에만 프로젝트의 kapt종속성 만 작동합니다.

편집
이미 염두에 두어야 할 것은 이미 사용중인 경우 Androidx입니다. Androidx훌륭한 리 팩터이지만 마이그레이션 할 때 일부 종속성이 축소 될 수 있습니다. 주류 라이브러리는 이미로 업데이트 Androidx되었지만 일부는 업데이트 되지 않았거나 업데이트 되지 않았습니다.
이 편집 위의 제공된 솔루션으로 문제가 해결되지 않으면 종속성을 살펴보고 해당 기능을 사용하는지 확인할 수 Androidx있습니다.

편집 2
@ 테드가 언급했듯이, 나는 다시 조사했으며 그는 파일도 kapt처리 java합니다. kapt혼자서도 트릭을 수행 kapt하고 annotationProcessor종속성 을 유지할 필요가 없습니다 .