Scala - Android App构建失败

时间:2011-01-23 03:46:37

标签: android scala ant

我按照说明为Android构建Scala应用程序: scala-to-android

基本上,我安装了Scala并将ant build.properties更改为指向Scala并将build.xml更改为包含build-scala.xml。

ant scala-compile 

是成功的,但是,

ant debug

生成以下构建错误:

阶编译:

-shrink-if-test:
     [echo] Checking if Scala libraries are installed on emulator or device...
      [adb] BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar

-shrink-config:
  [taskdef] Could not load definitions from resource scala/tools/ant/task.properties. It could not be found.

BUILD FAILED
/home/salil/Programs/android-projects/FirstScala/build-scala.xml:82: Problem: failed to create task or type invoked
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

我是ant,Android和Scala的初学者。任何帮助,将不胜感激。非常感谢提前!

3 个答案:

答案 0 :(得分:3)

我在Scala上遇到了与android dev相同的问题。实际上,构建脚本会查找名为task.properties的文件,该文件位于scala / tools / ant / task.properties中。这包装在jar ant-invoked.jar中。我希望你能从该网站下载android-sdk项目zip存档。只需将android-sdk根目录下的“configs”文件夹复制到项目根文件夹中即可。 这是在scala-build.xml中搜索文件

<!-- Project settings -->
property name="configs.dir" value="${basedir}/configs" />
<property name="ant-invoked.jar" value="${configs.dir}/ant/ant-invoked.jar" />

和目标shrink-config

<target name="-shrink-config"
        description="Generate ProGuard configuration file">
    <taskdef resource="scala/tools/ant/task.properties"
             classpath="${ant-invoked.jar}" />

答案 1 :(得分:2)

目前,在Android上使用Scala最稳定的方法是使用Simple Build Tool (SBT)Android Plugin

它基本上“只是工作”,为你处理所有步骤并与Proguard一起缩小。

答案 2 :(得分:1)

您好我在这里有一个博客文档的步骤,使scala在Android上工作。它利用android蚂蚁进程和棍子接近android的方式。你可以在这里看到教程 http://saadstechblog.blogspot.com/2011/09/scandroid-scala-android-tutorial.html。还有一个包含所有配置的github项目。