Android / Gradle:这个依赖项嵌入在哪里?

时间:2013-08-08 09:59:26

标签: android build dependencies gradle

我正在使用基于Gradle的新Android构建系统,以及早期访问预览Android Studio。现在,我有两个项目:Android库项目和Android应用程序项目(基本上是库的演示)。

在库项目中,我已经为gson库添加了一个依赖项,因此我的build.gradle文件如下所示:

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.google.code.gson:gson:2.2.+'
}

尽管如此,一切正常,花花公子,我可以在我的图书馆和我的应用程序中使用gson。但我想了解嵌入此库的 where 。我已经打开了由库项目构建的.aar和演示应用程序的.apk。我期待在至少其中一个中找到两个依赖的罐子,但我没有。

那么他们在哪里?

2 个答案:

答案 0 :(得分:3)

来自Android Tools网站:

  

这些项目以及项目自身源代码编译的输出将被发送到dex进行字节码转换并包含在最终的APK中。

换句话说,它们位于APK内的* .dex文件中。

答案 1 :(得分:1)

正如@SharkyXTS所说,来自任何外部依赖项的代码被编译到APK内的最终.dex文件中。你在.aar中找不到对这些依赖项的任何引用的原因是因为没有。

.aar格式目前仅通过Maven支持,因此可以通过那里找到依赖关系。我相信有计划最终支持本地的.aar依赖项(没有Maven),但Android插件尚未完全存在。您可以查看this issue以获取更多信息。