Android Maven apklib是否在包装中包含自己的SDK?
配置apklib时,我包括:Android Maven apklib是否在包装中包含自己的SDK?,android,maven,sdk,apklib,Android,Maven,Sdk,Apklib,配置apklib时,我包括: <dependency> <groupId>android</groupId> <artifactId>android</artifactId> <version>4.0_r3</version> <scope>provided</scope> </dependency>
<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<version>4.0_r3</version>
<scope>provided</scope>
</dependency>
安卓
安卓
4.0_r3
假如
在依赖项列表中。如果我不这样做,它将无法识别编辑器中的源代码
不会编译。然而,我的问题是,Android SDK是否会被包括在
使用apklib的项目?似乎是这样。但是,为什么会这样呢?我认为使用哪个SDK应该只由使用apklib的项目决定,而不是由apklib本身决定。我不想使用apklib,例如在我的主项目中使用api级别14时使用api级别19
简而言之:apklib pom中的SDK依赖项是否包含在主项目中(使用Maven)?我知道了
对于依赖项,应该使用scope=provided
然后,
Maven
假设容器项目提供类,因此SDK类不会与apklib
一起导入。您的意思是,如果您将4.0_r3
放在14级
,编译器将不会编译SDK的所有类?你能添加一个链接或引用,或者任何让你得出这个结论的东西吗?来自Maven文档:Scope=provided:这很像compile,但表明你希望JDK或容器在运行时提供依赖关系。例如,在为Java Enterprise Edition构建web应用程序时,您可以将Servlet API和相关Java EE API的依赖关系设置为提供的范围,因为web容器提供了这些类。这个作用域仅在编译和测试类路径上可用,不可传递。我相信,使用scope=provided,apklib本身将自行编译,但当我将它(apklib)作为依赖项从另一个主项目导入时,然后,apklib的SDK类将由该主项目提供,而不是由apklib提供。这是我所相信的,但我不是100%确定。我用过的时候好像是这样。如果您发现其他问题,请发表评论,以便我可以更改我的答案。