首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库中未加载的依赖项

库中未加载的依赖项
EN

Stack Overflow用户
提问于 2015-09-10 10:37:02
回答 1查看 779关注 0票数 1

在当前应用程序中,如果在应用程序的gradle文件中声明依赖项,则可以正确加载依赖项。相反,如果我在库中声明它,它就不再工作了。为什么会发生这种事?

我试图添加以下一行:

代码语言:javascript
复制
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.2.0'

应用程序分级文件:

代码语言:javascript
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    signingConfigs {
        release {
            storeFile file("../[...].jks")
            storePassword "[...]"
            keyAlias "[...]"
            keyPassword "[...]"
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':gsd_droid_common:GsdDroidApplicationLib')
    //compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.2.0'
}

而图书馆是:

代码语言:javascript
复制
apply plugin: 'com.android.library'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        targetSdkVersion 22
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':gsd_droid_common:DroidLib')
    compile project(':gsd_droid_common:OtpServiceLib')
    compile project(':gsd_droid_common:viewpagerindicator')
    compile 'com.github.nkzawa:socket.io-client:0.3.0'
    compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.2.0'
}

相反,这是settings.gradle文件:

代码语言:javascript
复制
include ':fundus:GsdDroid'
include ':fundus:CentervueLauncher'
include ':fundus:StartHomeActivity'
include ':perimeter:GsdDroid'
include ':perimeter:CentervueLauncher'
include ':perimeter:StartHomeActivity'
include ':gsd_droid_common:DroidLib'
include ':gsd_droid_common:GsdDroidLib'
include ':gsd_droid_common:GsdSetup'
include ':gsd_droid_common:GsdConfigurator'
include ':gsd_droid_common:External:ErlangOTP'
include ':gsd_droid_common:External:volley'
include ':gsd_droid_common:External:DroidPlot'
include ':gsd_droid_common:External:datetimepicker'
include ':gsd_droid_common:CentervueLauncherUserRoleIO'
include ':gsd_droid_common:CentervueLauncherBroadcast'
include ':gsd_droid_common:UsbTethering'
include ':gsd_droid_common:OtpService'
include ':gsd_droid_common:OtpServiceLib'
include ':gsd_droid_common:viewpagerindicator'
include ':gsd_droid_common:smoothaccordion'
project(':gsd_droid_common:smoothaccordion').projectDir =
        new File('gsd_droid_common/External/smoothaccordion')
include ':gsd_droid_common:GsdDroidApplicationLib'
project(':gsd_droid_common:GsdDroidApplicationLib').projectDir =
        new File('gsd_droid_common/GsdDroidApplicationLib')
include ':gsd_droid_common:Logcatudp'
project(':gsd_droid_common:Logcatudp').projectDir =
        new File('gsd_droid_common/External/logcatudp')
include ':gsd_droid_common:Snowdon'
project(':gsd_droid_common:Snowdon').projectDir =
            new File('gsd_droid_common/External/snowdon')

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-10 14:52:09

我跟踪了加布里埃尔·马里奥蒂的这篇文章:http://gmariotti.blogspot.it/2015/07/how-to-centralize-support-libraries.html

还是不起作用。

清除所有项目,文件/失效缓存和重新启动。重新启动计算机。

还是没什么..。

...then我试着构建这个项目。魔法就会发生。我不知道为什么,但在您不构建它之前,它不会重新加载依赖项(或者其他什么,我不知道,但现在它开始工作了)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32499552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档