教程
安装
lein-droid(铃-机器人)是一个leiningen插件,所以你要确保已安装leiningen2.3或更高版本。这就是所有必须的安装项。当你创建一个新项目:lein new droid,模板将自动下载,并且在项目文件夹里,lein-droid已经可以使用。
设置 Android SDK 路径:
lein-droid和Neko(猫)对Android SDK有以下要求:
·SDK版本>=15
·Android Build Tools版本>=20
·Android Support Repository
你必须使用JDK1.7,1.6和1.8都不行,因为Android现在不支持。
你可以在全局的profiles.clj文件的【:android-common】 简介中,或是每个项目的project.clj文件中指定SDK的路径。无论哪个,你都应该讲【:sdk-path】的值放进【:android】中:
【:android {:sdk-path /path/to/android-sdk-linux_x86}】
相关的选项有:【:sdk-path】,【:target-version】
64位Linux用户请注意:
在64位系统上运行Android SDK你可能会遇到问题。
设置CIDER(苹果酒):
如果你使用CIDER,并想要在你的clojure-Android应用中使用它的一些附加功能,在你的profiles.clj文件中做如下配置:
:android-user {:dependencies[[cider/cider-nrepl0.9.1]]
:android{:aot-exclude-ns[cider.nrepl.middleware.util.java.parsercider.nreplcider-nrepl.plugin]}}
创建一个新项目
执行以下命令,创建一个Android项目:
【lein new droid <project-name> <package-name> [optional-args]】
顺序是很重要的:new 在 droid 之前。【lein droid new】也是一个正确的命令,但它需要lein-droid已经存在于classpath,所以你不能在现有的clojure-Android项目之外使用它。
【project-name】是新项目的名称。默认情况下它也作为Android应用程序的名称,但你可以在可选参数中自定义应用名。
【package-name】代表一个Android包名,包名至少要有两级(foo.bar),不包含连字符(用下划线代替)。
可选参数:
·:activity-应用的主activity名
·:target-sdk——你想编译的Android应用版本
·:min-sdk——应用支持的最小Android版本
·:app-name——应用名
例如:
【lein new droid superapp my.company.superapp :activity MyActivity :target-sdk 15 :app-name SuperApp】
初始配置:
当一个新项目被创建,project.clj几乎已经被自动生成好。你要做的唯一一件事就是制定Android SDK 的路径。
可选项请查看这个列表。
快速启动
用以下命令来编译、构建和部署:
【lein droid doall】
该命令将源码转为应用,运行在你准备好REPL的设备之上。大部分的时候,细粒度的构建过程是没有必要的。如果必须要,接下来的段落描述了构建过程的具体步骤。
编译/构建
为了编译你的项目,执行:
【lein droid build】
该命令从源码创建了R.java文件,并编译了所有java、clojure和依赖文件。首次执行需要一段时间,之后会快很多。
编译后字节码文件会被创建。这是个很耗时的操作,CPU满载的情况下可能持续约一分钟。好消息是你不用经常这样做,因为你可以使用REPL。
【本文翻译了一半。。】