当迁移到AndroidX时,无法解析变量“$ {animal.sniffer.version}”。

147
我正在使用 Android Studio 3.2 Beta5 将我的项目迁移到 AndroidX。当我重新构建我的应用程序时,我遇到了以下错误:

ERROR: [TAG] 无法解析变量 '${animal.sniffer.version}'

ERROR: [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'

这里有进展吗? - Chad Bingham
终于找到了解决方案,请在此处查找答案:https://dev59.com/PFQK5IYBdhLWcg3wL9Fq#52308912 - Nabster
可能是 https://dev59.com/PFQK5IYBdhLWcg3wL9Fq 的重复问题。 - Nabster
5
@Nabster 嘿嘿,我的问题是一个月前发布的,而这个问题是20小时前发布的! - nhoxbypass
在这里也遇到了同样的问题,使用Android Studio 3.2稳定版本。只有清除缓存并重启才能暂时解决此问题。 - Al Cabone
显示剩余2条评论
16个回答

1
如果您正在使用dagger或butterknife,请确保将其更新到最新版本。或者,如果您的项目中使用了其他注入库,则可以尝试检查它是否支持androidx。
我发现了相同的错误,问题出在我的dagger和butterknife上。通过将其更新到最新版本来修复它。

1

Android 版本:4.10.2

我通过以下三个简单步骤解决了这个问题: 首先,在 pubspec.yml 中添加以下内容: (缩进两个空格)

module:
  androidX: true 

在项目文件夹android/gradle.properties中添加以下两行内容。

android.useAndroidX=true
android.enableJetifier=true

接着我用终端写下了以下内容:

flutter clean

也许您需要停止设备并重新运行。

0
我通过将Firebase依赖项更新到最新版本来解决了这个问题。

0
我在将butterknife添加到我的项目后遇到了这个错误。为了解决这个问题,你应该使用Java8。我建议阅读this的答案。
以下是我如何解决这个问题:
1. 在build.gradle(模块:app)中添加以下代码。
android {
  ...
  // Configure only for each module that uses Java 8
  // language features (either in its source code or
  // through dependencies).
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

清理项目并运行。

-1

打开文件,点击“无效缓存并重启”。

重启后,在应用的build.gradle文件中增加最小SDK版本。


-1

我通过刷新缓存(而不是使其无效 - 这也会清除本地历史记录)来解决了这个问题:

  1. 在 gradle.properties 文件中,注释掉 org.gradle.caching=true 这一行。
  2. 清理、重建。
  3. 在 gradle.properties 文件中,取消注释 org.gradle.caching=true 这一行。
  4. 清理、重建。

就这样!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接