在android中创建具有依赖项的库
我创建了一个库“LibA”,它依赖于许多第三方库,如RecyclerView、EventBus等。当我试图将它作为aar包含在另一个项目中时,该库成功地包含了进来,但aar中没有依赖项 Q1我如何在LibA中包含依赖项,以便当其他项目包含此库时,它不必担心我的库的内部依赖项 Q2gradle如何管理库的依赖关系,是一次下载所有依赖关系,还是首先检查主项目中已有的依赖关系 Q3当有人包含来自jcenter的库时,是否会带来所有依赖项在android中创建具有依赖项的库,android,android-studio,gradle,dependencies,android-gradle-plugin,Android,Android Studio,Gradle,Dependencies,Android Gradle Plugin,我创建了一个库“LibA”,它依赖于许多第三方库,如RecyclerView、EventBus等。当我试图将它作为aar包含在另一个项目中时,该库成功地包含了进来,但aar中没有依赖项 Q1我如何在LibA中包含依赖项,以便当其他项目包含此库时,它不必担心我的库的内部依赖项 Q2gradle如何管理库的依赖关系,是一次下载所有依赖关系,还是首先检查主项目中已有的依赖关系 Q3当有人包含来自jcenter的库时,是否会带来所有依赖项 任何帮助都将不胜感激。:) aar文件不包含嵌套(或)依赖项,也
任何帮助都将不胜感激。:) aar文件不包含嵌套(或)依赖项,也没有描述库使用的依赖项的pom文件 这意味着,如果要使用
flatDir
repo导入aar文件,则还必须在项目中指定依赖项
Q1我如何在LibA中包含依赖项,这样当其他项目包含这个库时,它就不必担心我的库的内部依赖项了
您应该使用maven repository(您必须在私有或公共maven repo中发布该库),您将不会遇到相同的问题。在本例中,gradle使用包含依赖项列表的pom文件下载依赖项 问题2:gradle如何管理库的依赖关系,它是一次下载所有依赖关系,还是首先检查主项目中已经存在的依赖关系 Gradle为您处理依赖项。它不会添加相同的依赖项两次或更多次 Q3当有人包含来自jcenter的库时,是否会带来所有依赖项 如前所述,在本例中,依赖项有一个描述所有嵌套依赖项的pom文件。Gradle会自动下载它 Q1我如何在LibA中包含依赖项,这样当其他项目包含这个库时,它就不必担心我的库的内部依赖项了 您应该使用一些依赖关系管理器。例如,Maven Central具有
.pom
文件,该文件定义了所有应使用的附加依赖项
问题2:gradle如何管理库的依赖关系,它是一次下载所有依赖关系,还是首先检查主项目中已经存在的依赖关系
gradle
下载所有必要的依赖项。它为依赖项创建一个图表,尝试解决冲突并下载它们
Q3当有人包含来自jcenter的库时,是否会带来所有依赖项
如果pom文件中未定义其他依赖项,则不会下载这些依赖项,只有库只是术语中的小补丁——“嵌套”应该是“可传递”的think@EugenMartynov对在这种情况下,Nested是可传递的。