Lein-droid中文教程——用clojure構(gòu)建Android項目的工具

教程


安裝


lein-droid(鈴-機器人)是一個leiningen插件,所以你要確保已安裝leiningen2.3或更高版本。這就是所有必須的安裝項。當你創(chuàng)建一個新項目:lein new droid,模板將自動下載,并且在項目文件夾里,lein-droid已經(jīng)可以使用。

設(shè)置 Android SDK 路徑:

lein-droid和Neko(貓)對Android SDK有以下要求:

·SDK版本>=15

·Android Build Tools版本>=20

·Android Support Repository

你必須使用JDK1.7,1.6和1.8都不行,因為Android現(xiàn)在不支持。

你可以在全局的profiles.clj文件的【:android-common】 簡介中,或是每個項目的project.clj文件中指定SDK的路徑。無論哪個,你都應(yīng)該講【:sdk-path】的值放進【:android】中:

【:android {:sdk-path /path/to/android-sdk-linux_x86}】

相關(guān)的選項有:【:sdk-path】,【:target-version】

64位Linux用戶請注意:

在64位系統(tǒng)上運行Android SDK你可能會遇到問題。

設(shè)置CIDER(蘋果酒):

如果你使用CIDER,并想要在你的clojure-Android應(yīng)用中使用它的一些附加功能,在你的profiles.clj文件中做如下配置:

:android-user {:dependencies[[cider/cider-nrepl0.9.1]]

? ? ? ? ? ? ? ? ? ? ? ? :android{:aot-exclude-ns[cider.nrepl.middleware.util.java.parsercider.nreplcider-nrepl.plugin]}}

創(chuàng)建一個新項目


執(zhí)行以下命令,創(chuàng)建一個Android項目:

【lein new droid <project-name> <package-name>? [optional-args]】

順序是很重要的:new 在 droid 之前。【lein droid new】也是一個正確的命令,但它需要lein-droid已經(jīng)存在于classpath,所以你不能在現(xiàn)有的clojure-Android項目之外使用它。

【project-name】是新項目的名稱。默認情況下它也作為Android應(yīng)用程序的名稱,但你可以在可選參數(shù)中自定義應(yīng)用名。

【package-name】代表一個Android包名,包名至少要有兩級(foo.bar),不包含連字符(用下劃線代替)。

可選參數(shù):

·:activity-應(yīng)用的主activity名

·:target-sdk——你想編譯的Android應(yīng)用版本

·:min-sdk——應(yīng)用支持的最小Android版本

·:app-name——應(yīng)用名

例如:

【lein new droid superapp my.company.superapp :activity MyActivity :target-sdk 15 :app-name SuperApp】

初始配置:

當一個新項目被創(chuàng)建,project.clj幾乎已經(jīng)被自動生成好。你要做的唯一一件事就是制定Android SDK 的路徑。

可選項請查看這個列表

快速啟動


用以下命令來編譯、構(gòu)建和部署:

【lein droid doall】

該命令將源碼轉(zhuǎn)為應(yīng)用,運行在你準備好REPL的設(shè)備之上。大部分的時候,細粒度的構(gòu)建過程是沒有必要的。如果必須要,接下來的段落描述了構(gòu)建過程的具體步驟。

編譯/構(gòu)建


為了編譯你的項目,執(zhí)行:

【lein droid build】

該命令從源碼創(chuàng)建了R.java文件,并編譯了所有java、clojure和依賴文件。首次執(zhí)行需要一段時間,之后會快很多。

編譯后字節(jié)碼文件會被創(chuàng)建。這是個很耗時的操作,CPU滿載的情況下可能持續(xù)約一分鐘。好消息是你不用經(jīng)常這樣做,因為你可以使用REPL。

【本文翻譯了一半。?!?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容