appcompat库是否在每个使用它们的应用程序中重复?

时间:2014-02-09 23:22:49

标签: android proguard android-appcompat

我有两个关于使用appcompat库的相关问题。为了便于讨论,假设我的最低SDK级别为7,我的目标SDK级别为19(Kitkat)。如果我的应用程序是使用android-support-v4.jar构建的:

  • 当应用程序安装在运行Kitkat的设备上时,是否会保留该jar,还是会被放弃以减少应用程序的大小?
  • 如果用户安装了多个包含android-support-v4.jar的应用程序,是否会出现一些优化,以便将重复的jar从所有应用程序中分解出来,或者每个已安装的应用程序都会有一个jar副本?

1 个答案:

答案 0 :(得分:1)

  

当应用程序安装在运行Kitkat的设备上时,是否会保留该jar,还是会被放弃以减少应用程序的大小?

如果JAR甚至存在于您的应用中,它将被保留。

  

如果用户安装了多个包含android-support-v4.jar的应用程序,是否会出现一些优化问题,以便将重复的jar从所有应用程序中分解出来,或者每个已安装的应用程序都会有一个jar副本?

每个已安装的应用都会有一个JAR副本,只要JAR存在于您的应用中。

了解在生产应用中,在ProGuard完成后,您的APK中会保留多少android-support-v4.jar,具体取决于您正在使用的JAR的哪些功能。 ProGuard所做的一件事是删除未使用的类,而那些未使用的类主要来自JAR(至少,希望如此)。