Java 使用库项目可使项目的大小加倍

Java 使用库项目可使项目的大小加倍,java,android,eclipse,library-project,Java,Android,Eclipse,Library Project,我正在开发一款android应用程序,它可以作为免费试用版和付费专业版使用。当然,两者都共享大量代码,所以我将核心功能转移到了android库项目中。我创建了两个独立的android项目,它们使用核心项目作为库。到目前为止,它是有效的。但在编译最终的应用程序时,我意识到,与库项目相比,应用程序的大小增加了一倍多 因为除了代码布局,我几乎什么都没做,所以我无法解释为什么会发生这种情况。我想这可能与核心库项目包含的导出库有关。在Eclipse中,我可以看到库项目和应用项目都显示了库包含在各自的“An

我正在开发一款android应用程序,它可以作为免费试用版和付费专业版使用。当然,两者都共享大量代码,所以我将核心功能转移到了android库项目中。我创建了两个独立的android项目,它们使用核心项目作为库。到目前为止,它是有效的。但在编译最终的应用程序时,我意识到,与库项目相比,应用程序的大小增加了一倍多


因为除了代码布局,我几乎什么都没做,所以我无法解释为什么会发生这种情况。我想这可能与核心库项目包含的导出库有关。在Eclipse中,我可以看到库项目和应用项目都显示了库包含在各自的“Android私有库”文件夹中的所有jar文件。这些lib是否包含了两次,也许?

我发现在构建库项目时,proguard(当然)没有被调用。新的应用程序项目还没有任何proguard配置。将proguard优化添加到应用程序项目解决了这个问题。完整的构建现在只比以前大200KB(1MB)。看起来这是最小的开销。

您始终可以查看apk中的文件。。。只需将其重命名为mycolapp.apk.zip并打开即可。您可以提取它并搜索所有文件,按文件大小对它们进行排序并检出。您还应该提到文件大小。如果它是1mb,那么您将它导出到apk,它是2mb,那么这是合理的。如果它是20mb,然后它变成了40mb,那么它可能是另一个故事。