sle*_*ica 12 android scala proguard
在首先遇到与Android命令行工具集相同的问题之后,我终于设法将Scala和Java源代码的混合编译成可用的apk.
正如许多人建议的那样,我曾经proguard通过该dex工具挤压Scala库.问题是这样的:
BUILD SUCCESSFUL
Total time: 1 minute 29 seconds
Run Code Online (Sandbox Code Playgroud)
一分半钟.我们在这里讨论的是具有Hello-World复杂性的应用程序.我不认为我可以那样发展.我需要参加冥想课程.
这是proguard配置:
-injars ${out.absolute.dir}/classes:${scala-library.jar}(!META-INF/MANIFEST.MF,!library.properties)
-outjars ${out.absolute.dir}/classes.min.jar
-libraryjars ${android.jar}
-dontwarn
-dontoptimize
-dontobfuscate
-keep public class * extends android.app.Activity
Run Code Online (Sandbox Code Playgroud)
有没有办法加快proguard步骤?
编辑:我在一台相当不错的双核3GB ram机器上运行它,在64位Linux之上运行.ant compile(scalac/ javac)的运行需要3秒.ant install如上所述,完整需要1:30.proguard根据输出,这是"冻结" 的步骤,很可能是因为scala/android运行时lib大小.
通过Android Ant构建工作可能不是正确的方法.
目前的"最佳建议"是使用SBT
插件.
与Scala 2.8.1库相比,ProGuard需要更长时间来缩小Scala 2.9.1库(54秒对13秒,对于8.5 MB对比6.2 MB).库类的结构从根本上发生了变化,或者某些新类导致了过多的计算.我必须弄清楚ProGuard或其配置是否可以针对这种情况进行改进.目前,您可以使用Scala 2.8.1.
我假设您的ProGuard配置还包含Android和Scala所需的选项,如ProGuard手册中所述.如果您使用的是常规Android构建过程,则已在Ant构建文件中为您指定了输入(classes,libs)和库(android.jar),并且您无需在ProGuard配置文件中再次指定它们.阅读它们两次只需要花费时间并产生许多警告(你已经完全关闭了 - 选择性地关闭它们会更安全).
| 归档时间: |
|
| 查看次数: |
2861 次 |
| 最近记录: |