2

我正在使用基于 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。但我想了解这个库的嵌入位置。我已经打开了.aar由库项目构建的和.apk演示应用程序的。我期望在其中至少一个中找到两个依赖项的 jar,但我没有。

那么他们在哪里呢?

4

2 回答 2

3

Android 工具网站:

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

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

于 2013-08-08T10:06:38.913 回答
1

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

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

于 2013-08-08T21:53:55.650 回答