如何搭建SBT编译Scala开发的Android工程
作者:戚明峰
最近接触了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
Compiles all the sources in the
project, java and scalaCompile output is automatically
processed through proguard if there are any Scala sources, otherwise; it
can be enabled manually.android:package-release
Builds a release APK and signs it
with a release key if configuredandroid:package-debug
Builds a debug APK and signs it using
the debug keyandroid:package
Builds an APK for the project of the
last type selected, by default debugandroid:test
run instrumented android unit tests
android:install
Install the application to device
android:run
Install and run the application
on-deviceandroid:uninstall
Uninstall the application from device
网易云产品免费体验馆,无套路试用,零成本体验云计算价值。
本文来自网易实践者社区,经作者戚明峰授权发布
更多网易研发、产品、运营经验分享请访问网易云社区。
相关文章:
【推荐】 如何实现360度的手游安全防护?网易云易盾专家分享最新实践
【推荐】 聊聊空状态设计
如何搭建SBT编译Scala开发的Android工程的更多相关文章
- 【Android开发】Android工程打压缩包技巧
android studio的: ".gradle" "*/.gradle" ".idea" "*/.idea" &qu ...
- windows 7/mac编译cocos2d-x-3.2*的android工程报错
开始学习cocos2d-x-3.* 凭着对2.*的各个版本的认识和升级的经验,本以为直接用最新的3.2rc0版本练手应该没有问题,结果一上来就是一个大坑.你妹! Android NDK: Invali ...
- 在Windows平台搭建轻巧的Python开发环境——面向工程和科研的扩展包配置
首先,下载最新版本的Python. 为什么强调最新版本呢,因为新版本的漏洞通常会少得多,而且反映了未来的趋势. 既然要学,何不起点高一点? 官方下载地址:https://www.python.org/ ...
- Android 开发环境搭建以及编译
两种搭建编译环境的方式,一种方法是用户安装虚拟机,然后安装基础的Ubuntu12.04.2 系统,利用提供的工具和详细的使用步骤,搭建编译环境:另外一种方法是用户安装虚拟机,然后直接加载 “搭建好的U ...
- SBT 构建scala eclipse开发
scala eclipse sbt 应用程序开发 搭建Eclipse开发Scala应用程序的一般步骤 一.环境准备: 1.Scala : http://www.scala-lang.org/ 2.Sc ...
- Linux-QT 开发环境搭建以及编译镜像
搭建Linux-QT 开发环境,需要先搭建Android 的编译环境,然后在Android 编译环境的基础上,再搭建Linux-QT 编译环境. 第一:编译器. 第二:设置环境变量.环境变量设置后,编 ...
- 通过IDEA搭建scala开发环境开发spark应用程序
一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安装scala插件,具体安装办法如下. 1.打开idea,点击c ...
- IDEA搭建scala开发环境开发spark应用程序
通过IDEA搭建scala开发环境开发spark应用程序 一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安 ...
- android 编译环境 & 开发教程 【持续更新】
一. 优秀博文推荐 1.ubuntu 搭建 android源码编译环境 ubuntu14.04LTS android 源码编译环境的搭建 2.开源网站 2.android 开源 网站 2015最流行的 ...
随机推荐
- Python 变量交换
# coding = utf-8 a, b = 1, 2 print 'before change' print a, b a, b = b, a print 'after change' print ...
- BZOJ1123:[POI2008]BLO(双连通分量)
Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n&l ...
- pinyin4j工具类
<!-- 导入pinyin4j --> <dependency> <groupId>com.belerweb</groupId> <artifac ...
- 【洛谷P3853】 [TJOI2007]路标设置
路标设置 题目链接 此题和跳石头很相似,都是二分答案,模拟判断是否可行 #include<iostream> #include<cstdio> using namespace ...
- 【luogu P3469 [POI2008]BLO-Blockade】 题解
题目链接:https://www.luogu.org/problemnew/show/P3469 #include <cstdio> #include <cstring> #i ...
- 使用TextView/EditText应该注意的地方,监听EditText,addTextChangedListener
http://blog.csdn.net/huichengongzi/article/details/7818676 监听 EditText 控件: addTextChangedListener(ne ...
- Python—面向对象02
1.抽象类与归一化 接口,即提供给使用者来调用自己功能的方式.方法.入口 为什么要使用接口? 接口提取了一类共同的函数,可以把接口看做一个函数的集合 然后让子类去实现接口中的函数 这么做的意义在于 ...
- PLSQL 禁用所有约束,启用约束,索引,触发器等
--禁用外键和触发器 SET SERVEROUTPUT ON SIZE 50000BEGINfor c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE ...
- 全文搜索引擎 Elasticsearch 安装踩坑记录
一.安装 Elastic 需要 Java 8 环境.如果你的机器还没安装 Java 安装完 Java,就可以跟着官方文档安装 Elastic.直接下载压缩包比较简单. $ wget https://a ...
- HTML5笔记——第一节
我的第一个网页 <!--html的基础模板--><!--html hyperText markup Language--><!--声明文档类型--><!DOC ...