升级版依赖项后,Android Studio无法找到类

时间:2016-08-17 23:35:16

标签: java android gradle

我有两个项目:图书馆和应用程序。我之前已将库上载到jCentre,并且库在其build.gradle文件中列为app的外部依赖项。最近我发布了一个更新版本的库,并在app的build.gradle文件中更新了依赖版本代码,但是当我这样做时,Android Studio再也找不到库中的任何类。

为了测试库,我创建了一个全新的项目并添加了库作为依赖项。在这种情况下,Android Studio可以很好地找到这些类。我已经比较了build.gradle文件的每一行:它们具有相同的min和目标SDK版本,它们具有相同的proguard配置,它们实际上完全相同。他们的项目也使用完全相同版本的android插件和完全相同的gradle版本。

我还尝试从我的机​​器上完全删除app并从git重新检查它。这并没有解决问题。我已经尝试了清理项目和重建项目,删除所有构建文件,使缓存无效等所有常用步骤。

所以有人能告诉我为什么在升级依赖版本后Android Studio找不到任何库类?

以下是新测试项目中的gradle.build文件:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 24
        versionCode 11
        versionName "3.1.0"
    }

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

dependencies {
    compile 'com.android.support:appcompat-v7:24.1.1'
    compile 'com.matthew-tamlin:android-utilities:2.1.0' // this is library
}

这是app项目中的build.gradle文件:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 24
    }

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

dependencies {
    compile 'com.android.support:appcompat-v7:24.1.1'
    compile 'com.matthew-tamlin:android-utilities:2.1.0' // this is library
}

您可以看到它们几乎完全相同,那么为什么一个项目可以从库中找到这些类而另一个项目却找不到呢?

1 个答案:

答案 0 :(得分:0)

所以我从未发现为什么这是一个问题,但我找到了一个解决方法。我在Android Studio中创建了一个新项目,并从现有项目中复制了所有src目录和build.gradle文件。我还复制了隐藏的git文件夹和所有git ignore文件。我没有复制gradle包装器,gradle文件或生成的构建。我不知道为什么这可以解决问题,它必须是gradle或Android Studio中的错误。