0

我试图弄清楚为什么我的 APK 在导出时是 21 MB 大。我正在使用 HoloEverywhere 和 ActionBarSherlock,所以我正在做一个实验,看看没有它们我的 APK 会有多大。为此,我取消了对这两个库的引用。但是,我注意到在 src->.git->modules 文件夹中,仍然有一个 ActionBarSherlock 文件夹,它为整个项目文件增加了大约 10 MB。如果我已取消引用这两个库并且在我的项目中与 ABS 没有其他连接,为什么它仍然存在?我也尝试清理我的项目,但没有运气。

4

1 回答 1

1

.git 目录中的所有内容都用于您的 git 存储库。由于 git 是一个 SCM 库,它不只是忘记事情。当您提交更多代码时,.git 目录将继续变大,即使这些提交会删除内容。(删除一个文件,它会变大一点,因为它正在添加一个条目来表示它已被删除)

现在就 .git/module 目录而言,我相信 git 使用它来跟踪子模块。删除它可能会损坏您的主项目的存储库。如果您决定要删除它,请先将其移动到另一个目录,然后查看是否可以检查旧标签/分支/提交并获取提交历史记录。即使一切正常,我怀疑您是否能够提取旧标签/分支并进行构建,因为您将丢失它所依赖的模块。

如果您担心您的 APK 为何如此之大,请将其拆开以找出原因。在此处查看我的答案的第二部分: Android Http 客户端库问题

这是APK的简单解压缩。这将允许您查看所有非 java 文件和 classes.dex 文件的大小。如果您想知道 dex 中的东西的大小,请使用 dex2jar。请注意,由于 JVM 是基于堆栈的,而 Dalvik 是基于寄存器的,.class 文件实际上比等效的 Dalvik 字节码略小。

于 2013-05-20T17:10:14.877 回答