背景: 在移动互联网时代,大多数的企业内部都有移动客户端,而移动客户端又因为OS的不同产生了两个派系,即
安卓(Android)
和苹果(IOS)
,而对于互联网技术从业者来说,这两者最直接的区别就是开源
和闭源
,因而也导致了在构建移动客户端时,为了整体的稳定性和可靠性的考虑(甚至有成本的考虑),需要进行分别编译,本篇文章记录下如何在Linux环境下构建Android
编译环境.
介绍
通常,开发苹果
系列的软件均需要使用一些专有开发工具,比如xcode,而此工具必须运行在Mac OS X
设备上(当然你也可以尝试各种黑苹果的方式),所以不论是对于个人开发者还是企业构建服务器来说,都需要购买更多的Mac
设备,通常,我知道的企业内部会使用Mac Mini
来作为苹果系列的构建环境。
而作为安卓(Android)
系列的软件,由于本身是谷歌开源的移动端操作系统,因此对于底层开发环境和构建环境没有太高的要求。一般而言,开发者会使用Android Studio来开发安卓系列的软件,而内置的命令行工具command-line则默认提供了安卓软件的编译工具和环境。值得一提的是,由于Android Studio
是开源的,因此该工具也提供了多个平台的支持(Windows,Mac,Linux,Chrome OS)。而这也极大的降低了企业的整体成本,通常开发环境可以在任意的OS环境中进行开发,而企业内部也可以使用Linux
环境进行安卓软件的持续集成和交付.
接下来主要讲解下如何在Linux环境下构建安卓的编译环境。
Linux下安卓(Android)编译环境的搭建
前提条件
需要注意的是,对于安卓(Android)
应用来说,一些依赖包的管理主要依靠sdkmanager
这个命令行工具,该工具可以在Android Studio页面找到,并且支持Windows
,Mac
,Linux
三个不同平台的版本。
同时,安卓(Android)
应用的开发工具Android Studio
使用[Gradle](https://github.com/gradle/gradle)
来进行编译和打包,因此对于安卓(Android)
应用而言,也将使用gradle
来进行编译和打包操作,该软件可以在Gradle页面找到。
其次,[NDK(原生开发套件)](https://developer.android.google.cn/ndk/guides/)
是一套工具,可以使开发者能够在 Android 应用中使用 C 和 C 代码,并提供众多平台库,开发者可使用这些平台库管理原生 Activity 和访问物理设备组件,例如传感器和轻触输入。该开发套件可以在