2012-09-17 41 views
1

我试图将我的android开发环境切换为基于scala的环境,但转身时间(由于剥离scala图书馆只使用ProGuard使用的零件)正在杀死我。如何在Android模拟器上预安装Scala库> = API级别14(x86/ARM)

有一些关于在模拟器中预安装scala库的过程教程,方法是创建一个新的虚拟硬盘映像并将库添加到所谓的BOOTCLASSPATH。结果应该是,我不需要将scala库集成到我的调试版本中,因此可以大大缩短转身时间(一个这样的教程可用here)。

我遵循这些教程,它适用于android 2.3.x(API级别10),但是在将它应用于ICS仿真器(API级别14/15)或Jelly Bean模拟器(API级别16)时,修改后它们会卡在启动循环中。 ICS仿真器对我来说尤为重要,因为我使用的是具有硬件加速仿真功能的x86映像,因为它比ARM映像要快得多。

有关如何在ICS仿真器或更高版本上预安装scala库的任何想法?

+2

您也可能想要查看https://github.com/banshee/AndroidProguardScala,以加快在无根设备上的开发速度。 –

+1

@詹姆斯:这听起来很有趣。 (联合国)幸运的是我是一个IntelliJ IDEA用户:-) – sven

+0

欢迎修补程序/ IntelliJ IDEA的分支机构:-)。 –

回答

4

经过漫长的搜索后,我偶然发现了Android-Scala-Installer,它允许在rooted android设备上预安装scala库。它使用另一种机制:除了调整BOOTCLASSPATH之外,它还定义了其他权限,然后可以使用<uses-library />语句在AndroidManifest.xml中引用该权限。

不幸的是,安装程序没有在模拟器上工作,但我已经应用了一般机制并创建了一个scala脚本,它可以完全自动化您选择的模拟器的整个安装过程,并且可以很好地处理x86和ARM映像 - - 简单地调用脚本,它将启动模拟器并完成所有安装,然后完成。目前该脚本只能在Windows上运行。

该脚本目前带来了斯卡拉2.9.2和2.10.0-M7库捆绑,可以发现at github

提示:要调整AndroidManifest.xml调试和发布之间的切换建立我拆我的应用程序成包含应用程序和两个应用项目的所有代码的机器人库项目时拯救自己 - 无论引用图书馆项目。其中一个应用程序项目用于调试版本,其中包含相关的<uses-library />声明,另一个项目用于发布版本,并将scala库包含到构建过程中,以便它们成为已发布APK的一部分。

希望这对其他人也有用。