问一个AndroidStudio中gradle dependency的问题(新手,勿喷)
巴扎黑
巴扎黑 2017-04-17 15:34:15
[Android讨论组]

我自己写了一个library A, library A 依赖com.android.support:custom tabs:23.1.1

dependencies {
    compile 'com.android.support:customtabs:23.1.1'
}

library A所属项目Project My,我在Project My里面新建了module demo, 在module demo的build.gradle里面将library A以本地库的方式引入

dependencies {
    compile project(':library A')
    // 注意这里没有compile 'com.android.support:customtabs:23.1.1' 哟
}

然后我在module demo中能使用com.android.support:customtabs:23.1.1 中的类,这个没有问题。


后来我把library A上传到JCenter和MavenCentral,这样一来,在任何一个项目中

compile 'com.XXX.XXX:library A:1.0.0'

就能将library A中添加进来了。


于是我又新建了一个项目Project My2,并在build.gradle中

compile 'com.XXX.XXX:library A:1.0.0'

但是

我在Project My2中用不了com.android.support:customtabs:23.1.1 中的类。所以,如何能不在build.gradle里面添加compile 'com.android.support:customtabs:23.1.1'的情况下使用customtabs里面的类呢?

巴扎黑
巴扎黑

全部回复(3)
PHP中文网

compile ('com.XXX.XXX:library A:1.0.0') {

transitive=true

}

黄舟

有时候,你可能不需要依赖进行传递 那么你可以看build文件中是怎么做的

具体代码可以到我的github查看 Gradle中如何禁止依赖传递

一般技能

// 法 . 0 . 使用@jar

// 法 . 1 . 不需要传递依赖

// 法 . 2 . 不需要传递依赖

// 法 . 3 . 排除某个间接依赖

大招

//法 . 4 . 全局禁止依赖传递

//法 . 5 . 全局禁止部分依赖传递

阿神

1、在对你的library打包后,检查build目录下publications/aar(或者jar或者mavenJar)/pom-default.xml文件是否存在
2、该pom文件内是否有添加dependencies项

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号