依赖项未加载到库中
Dependency not loaded in library
在我当前的应用程序中,如果我在应用程序的 gradle 文件中声明它,我可以正确加载它。相反,如果我在库中声明它,它就不再起作用了。发生这种情况的原因是什么?
我正在尝试添加以下行:
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.2.0'
申请gradle文件:
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'
}
而图书馆是:
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 文件:
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')
有什么想法吗?
我关注了 Gabriele Mariotti 的 post:http://gmariotti.blogspot.it/2015/07/how-to-centralize-support-libraries.html
还是不行。
清理所有项目,File/Invalidate 缓存并重新启动。重新启动计算机。
仍然没有...
...然后我尝试构建项目。神奇的事情发生了。我不知道为什么,但在您不构建它之前,它不会重新加载依赖项(或者其他什么,我不知道,但现在它正在工作)。
在我当前的应用程序中,如果我在应用程序的 gradle 文件中声明它,我可以正确加载它。相反,如果我在库中声明它,它就不再起作用了。发生这种情况的原因是什么?
我正在尝试添加以下行:
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.2.0'
申请gradle文件:
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'
}
而图书馆是:
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 文件:
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')
有什么想法吗?
我关注了 Gabriele Mariotti 的 post:http://gmariotti.blogspot.it/2015/07/how-to-centralize-support-libraries.html
还是不行。
清理所有项目,File/Invalidate 缓存并重新启动。重新启动计算机。
仍然没有...
...然后我尝试构建项目。神奇的事情发生了。我不知道为什么,但在您不构建它之前,它不会重新加载依赖项(或者其他什么,我不知道,但现在它正在工作)。