使用SBT构建Scala开发的Android工程

原创 2016年07月11日 21:15:55
最近接触了shadowsocks的Android客户端项目源码(https://github.com/shadowsocks/shadowsocks-android),刚好这个项目是使用Scala开发的.至于为什么使用Scala开发Android项目,大概原因如下:
Android 开发一直有两个无法回避的问题:基于 JVM 的设计使得系统的性能受到拖累;Java 冗繁的语法令人绝望。Scala 作为一门 state-of-the-art 的编程语言,兼具面向对象以及函数式语言的特点。其设计在 JVM 之上,与 Java 类库完全兼容,甚至可以与 Java 代码相互转换。可以说,Scala 是当前替代 Java 的最好选择,在不需要放弃已经无比先进的 JVM 和足够完备的 Java 生态的前提下,开发者们可以获得更先进的语言特性和更高的开发效率。至于 Android 开发,Scala 则提供了全新的体验,在配合 Scaloid 的情况下代码量可以大大减少。
言归正传,如何搭建SBT编译Scala开发的Android工程.

一、 SBT构建工具的安装
直接访问SBT的官网(http://www.scala-sbt.org/download.html)下载安装包,安装SBT即可。Windows平台下,有msi安装包,安装后直接自动完成了配置。
运行命令行 sbt about检验是否安装成功。成功安装会输出以下内容:
这里写图片描述

二、 环境变量的配置
配置环境变量ANDROID_HOME,指向Android SDK的目录地址。
这里写图片描述
如果项目中有使用到NDK编译的,需要配置ANDROID_NDK_HOME环境变量。
这里写图片描述

三、 SBT构建脚本的编写
在项目的根目录创建文件夹project,并创建文件plugins.sbt,在文件中添加如下代码:
addSbtPlugin(“org.scala-android” % “sbt-android” % “1.6.6”)
其实是为编译工程指定sbt-android插件的版本为1.6.6。
接下来编写SBT编译脚本。在项目的根目录,创建文件build.sbt,并进行脚本的的编写。具体语法和API请自行Google。

四、 编译release安装包
执行编译脚本,构建Android项目,命令如下:
sbt clean android:package-release
等待插件等下载完成和项目编译完成之后,在target/android/output 目录下可以找到apk安装包。

附:
SBT的常用命令:
• compile
o Compiles all the sources in the project, java and scala
o Compile output is automatically processed through proguard if there are any Scala sources, otherwise; it can be enabled manually.
• android:package-release
o Builds a release APK and signs it with a release key if configured
• android:package-debug
o Builds a debug APK and signs it using the debug key
• android:package
o Builds an APK for the project of the last type selected, by default debug
• android:test
o run instrumented android unit tests
• android:install
o Install the application to device
• android:run
o Install and run the application on-device
• android:uninstall
o Uninstall the application from device

版权声明:本文为博主原创文章,未经博主允许不得转载。

用SBT构建Scala开发的Android工程

一、 SBT构建工具的安装 直接访问SBT的官网(http://www.scala-sbt.org/download.html)下载安装包,安装SBT即可。Windows平台下,有msi安装包,安...
  • qq_23489303
  • qq_23489303
  • 2017年06月14日 10:08
  • 460

构造Scala开发环境并创建ApiDemos示例项目

从2011年开始写Android ApiDemos 以来,Android的版本也更新了很多,目前的版本已经是4.04。ApiDemos中的例子也增加了不少,有必要更新Android ApiDemo示例...
  • mapdigit
  • mapdigit
  • 2014年10月01日 20:40
  • 18874

android studio 导入github项目需要修改gradle信息

我们在开发过程中,往往因为项目需要而导入别人的一些开源项目(例如github上的开源项目)。 但是直接导入android studio里面却不能使项目正常运行。 原因是我们android studio...
  • iamwutianbao
  • iamwutianbao
  • 2016年09月20日 09:25
  • 2877

使用 Scala 编写 Android 应用

转自 :http://www.madeye.me/2013/05/09/scala-in-android/ Why? Android 开发一直有两个无法回避的问题:基于 J...
  • program_thinker
  • program_thinker
  • 2015年04月23日 12:08
  • 2086

在Android中使用scala编程(-)

ScalaActivity.scala package com.example import android.app.Activity import android.os.Bundle i...
  • daaoke
  • daaoke
  • 2011年08月05日 18:02
  • 3642

使用Scala编写Android程序

环境搭建: 安装JDK和Scala(本人使用2.1) 下载Android SDK,最新版本里面已经包含了Eclipse和 ADT插件根据Eclipse版本和Scala版本下载对应的Scal...
  • chenxiaohong3905
  • chenxiaohong3905
  • 2013年04月06日 23:00
  • 4363

shadowsocks的坑

am broadcast -a com.github.shadowsocks.ACTION_UPDATE_STATE 启动,通过启动服务也行 val intent = new Intent(con...
  • u012787710
  • u012787710
  • 2017年05月15日 16:48
  • 484

Android Studio安装

安装Android Studio 配置Andorid Studio 第一个Android程序最近脑袋发热,想试下Android开发来给自己的手机添加点儿乐趣。要开发首先就需要一个开发环境,这里就选择官...
  • yuanguangyu1221
  • yuanguangyu1221
  • 2017年06月04日 21:55
  • 8904

使用SBT构建Scala开发的Android工程

最近接触了shadowsocks的Android客户端项目源码(https://github.com/shadowsocks/shadowsocks-android),刚好这个项目是使用Scala开发...
  • u010403463
  • u010403463
  • 2016年07月11日 21:15
  • 2374

Android各控件Demo下载地址

第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、...
  • orchid_gril
  • orchid_gril
  • 2016年05月19日 18:12
  • 3504
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用SBT构建Scala开发的Android工程
举报原因:
原因补充:

(最多只允许输入30个字)