如何减少android的scala应用程序的文件大小?

我试图在Eclipse中使用Scala编写Android应用程序。 我遇到的问题是部署的APK文件太大 – 因为您无法将Android应用程序链接到外部库,所以使用的任何代码都必须复制到APK文件中,但大多数Scala应用程序不需要大多数Scala库。 在某处我读到,即使是一个大型应用程序也可以打包只有50k左右的Scala库,相比之下我的Android设备告诉我我的测试应用程序占用了4mb。

我已经尝试过Eclipse的Treeshaker插件,我可以在进度窗口中看到它正在运行,但它似乎没有做任何事情。 从我的项目中分解它对最终文件大小没有影响。 我自己也尝试过配置Proguard,但我找不到一个既不会影响文件大小的配置(我也意识到Proguard只在使用Eclipse的导出向导时运行,我用它来测试它)或者崩溃带有神秘的错误消息,例如“1”。 (好吧,好吧,整个错误信息是“转换为Dalvik格式失败,错误代码为1”,这几乎没有帮助,因为我找不到任何有关该错误消息的明确文档,并且它没有告诉我哪个部分我的代码或配置导致问题…)

所以。 有关如何使其工作的任何见解?

大多数人使用SBT和ProGuard(据我所知,它是使用sbt android插件自动运行的)。

此外,有可能在apk中附带两个dex文件 。 这也解决了许多问题,因为大多数限制适用于dex文件,而不是最终的apk。

这是较旧的,但有许多有用的一般信息: http : //lamp.epfl.ch/~michelou/android/

我使用AndroidProguardScala,如下所示:

https://stackoverflow.com/a/11084146/1287856

它在导出应用程序时使用Proguard,并且运行良好。