在简书上面有系列关于Android 的文章,还不错,部分同学可以在开发过程中阅读和学习:www.jianshu.com/collection/3fde3b545a35

关于Android 构建,看到这篇文章。同学们可参考:

说到命令行自然是不需要图形界面,所以Android SDK的安装下载自然都是在终端上进行。下面是本文中使用的一些SDK和基本环境。

  • ubuntu server 14.04 (64位)
  • JDK 1.7
  • android-sdk_r24.0
  • gradle-2.2.1

进入正题,接下来一步一步介绍如何安装配置一个命令行下的编译构建系统.

step 1 安装 JDK 环境

配合android的JDK最好选用JDK官方版本而不是Open JDK,下面是在unbuntu下安装JDK 1.7的方法。

  1. sudo add-apt-repository ppa:webupd8team/java
  2. sudo apt-get update
  3. sudo apt-get install oracle-java7-installer

step 2 安装 Android SDK

android sdk 工具包的一些命令行工具是基于32位系统的,在64为平台运行32程序必须安装 i386 的一些依赖库,方法如下:

  1. sudo dpkg --add-architecture i386
  2. sudo apt-get update
  3. sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1

安装完成32位的依赖库后,我们使用wget 去官方下载最新的linux下android SDK包。

  1. cd ~
  2. wget http://dl.google.com/android/android-sdk_r24.0.1-linux.tgz
  3. tar xvzf android-sdk_r24.0.1-linux.tgz

编辑 .profile 或者 .bash_profile 把下面的目录增加到 path的搜索路径中,确保android SDK的的一些命令工具可以直接在终端使用,比如 adb 命令。

  1. ANDROID_HOME=$HOME/android-sdk-linux
  2. export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools"
  3. exprot ANDROID_HOME

使环境变量生效

  1. source ~/.profile

环境变量生效后,你可以使用android命令 列出sdk相关的列表,以便我们选择和自己项目匹配的SDK版本。(刚才只是安装了最基础的SDK,要完全满足你的开发环境需要还得从下面的列表中选择你需要的SDK和工具更新下载)

  1. android list sdk --all

输出如下所示:

  1. 1- Android SDK Tools, revision 24.0.1
  2. 2- Android SDK Platform-tools, revision 21
  3. 3- Android SDK Build-tools, revision 21.1.2
  4. 4- Android SDK Build-tools, revision 21.1.1
  5. 5- Android SDK Build-tools, revision 21.1
  6. 6- Android SDK Build-tools, revision 21.0.2
  7. 7- Android SDK Build-tools, revision 21.0.1
  8. 8- Android SDK Build-tools, revision 21
  9. 9- Android SDK Build-tools, revision 20
  10. 10- Android SDK Build-tools, revision 19.1
  11. 11- Android SDK Build-tools, revision 19.0.3
  12. 12- Android SDK Build-tools, revision 19.0.2
  13. 13- Android SDK Build-tools, revision 19.0.1
  14. 14- Android SDK Build-tools, revision 19
  15. 15- Android SDK Build-tools, revision 18.1.1
  16. 16- Android SDK Build-tools, revision 18.1
  17. 17- Android SDK Build-tools, revision 18.0.1
  18. 18- Android SDK Build-tools, revision 17
  19. 19- Documentation for Android SDK, API 21, revision 1
  20. 20- SDK Platform Android 5.0.1, API 21, revision 2
  21. 21- SDK Platform Android 4.4W.2, API 20, revision 2
  22. 22- SDK Platform Android 4.4.2, API 19, revision 4
  23. 23- SDK Platform Android 4.3.1, API 18, revision 3
  24. 24- SDK Platform Android 4.2.2, API 17, revision 3
  25. ....

这里包括不同的Android API 版本和不同的构建工具,选择你想要安装项目的序号,这里我想安装 build tools 19.1 ,build tools 21 及 android 4.2.2以上的SDK所以选择序号 “1,2,3,20,21,22,23”

  1. android update sdk -u -a -t 1,2,3,10,20,21,22,23

step 3 安装gradle构建环境

使用Ant构建项目已经是过去式了,这里我们选用更加强悍和方便的构建工具gradle 。

下载 grdle 二进制包

  1. cd ~
  2. wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip

释放到本地Home目录,创建名字为"gradle"的符号链接,符号连接的好处是方便版本更新,有了新的版本直接修改符号链接即可。

  1. unzip gradle-2.2.1-bin.zip
  2. ln -s gradle-2.2.1 gradle

配置gradle环境变量并使其生效,编辑 ~/.profje 文件增加下面内容

  1. GRADLE_HOME=$HOME/gradle
  2. export PATH=$PATH:$GRADLE_HOME/bin

保存后使环境变量使其生效

  1. source ~/.profile

环境变量生效后你可以在终端敲入'gradle'命令并运行用以检测gradle是否安装成功。

  1. gradle

如果安装配置的没有问题将会提示类似下面的信息

  1. :help
  2. Welcome to Gradle 2.2.1
  3. To run a build, run gradle <task> ...
  4. To see a list of available tasks, run gradle tasks
  5. To see a list of command-line options, run gradle --help
  6. BUILD SUCCESSFUL

验证是否可以编译android 应用

完成以上的环境配置,我们的一个Android下的基础构建环境就全部配置好了,接下来做的事情就是尝试使用gradle 编译一个android 应用出来验证我的编译环境是否OK,下载我写的一个gadle demo 例子进行测试。

  1. git clone https://github.com/examplecode/gradle_demo
  2. cd gradle_demo/hello-apk-with-gradle
  3. gradle build

一切顺利的话,编译完成后,你会在 “hello-apk-with-gradle/build/outputs/apk” 目录下找到编译好的apk包。至于如何整合到你自己的项目中去,只需要仿照例子给你的项目提供一个"gradle.build" 脚本即可。

参考:打造一个全命令行的Android构建系统 (见:www.jianshu.com/p/1694ea9a3f90)

关于Android 构建的更多相关文章

  1. Docker+Jenkins持续集成环境(5): android构建与apk发布

    项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. andro ...

  2. android构建过程

    参考: http://blog.csdn.net/shangmingchao/article/details/47375111 首先,需要了解一下构建APK的七大工具: ①aapt 全称是Androi ...

  3. 关于Android构建

    “IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定” 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命 ...

  4. Android构建boot.img(一):root目录与ramdisk.img的生成

    以TCC88XX为例,当在Android顶层源码目录使用make编译完成后,会生成这样一个目录: out/target/product/tcc8800,该目录内部有我们需要的boot.img和syst ...

  5. android 构建数据库SQLite

    1.首先我们需要一个空白的eclipse android工程 2.然后修改AndroidManifest.xml 在<application></application>标签里 ...

  6. Android构建项目时出现的小bug们(2018年5月19日19:31:20)

    问题详情 Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency ...

  7. Android—构建安全的Androidclient请求,避免非法请求

            今天通过实例来介绍一下怎样构建安全的Android客户端请求.避免非法请求:         server端代码:         代码1-工具类: package com.ghj.p ...

  8. 打造一个全命令行的Android构建系统

    IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定” 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令 ...

  9. Gradle for Android ( 构建变体 )

    链接: http://77blogs.com/?p=38 https://www.cnblogs.com/tangZH/p/10999060.html 有时候我们一个app需要有不同的版本,不同的版本 ...

随机推荐

  1. Linux I2C工具查看配置I2C设备【转】

    转自:http://blog.chinaunix.net/uid-26895763-id-3478882.html 在處理音訊相關的問題時,我通常會找個方法來讀寫codec中register的值.幸好 ...

  2. 测试驱动开发神器框架Mockito

    作为菜鸟的我,以前没接触过Mock类型的框架,比如说要测试action层,我总是从action层调用service再调用dao访问数据库,这种方式从原则上来说是无疑是非常正确的,在没用mock框架之前 ...

  3. Javascript Window Location

    window.location 对象在编写时可不使用 window 这个前缀. URL : 统一资源定位符 (Uniform Resource Locator) 说明: 完整的URL示例:scheme ...

  4. Linux中重定向命令行

    http://www.ahlinux.com/start/base/3170.html

  5. crontab实现每秒执行

    crontab: #!/bin/bash step=$1 #每多少秒执行一次 ; i < ; i=(i+step) )); do date +%Y%m%d' '%H:%M:%S >> ...

  6. PHP中header函数的用法及其注意重点是什么呢

    1.使用header函数进行跳转页面: header('Location:'.$url); 其中$url就是将要跳转的url了. 这种用法的注意事项有以下几点: •Location和":&q ...

  7. [HTML]js动态修改表格里面的内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/T ...

  8. ACM题目————最长回文串

    Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等   Input 输入有多组cas ...

  9. 鼠标放上去,div高度随文字增加,并显示剩余的文字。

    /*这里是鼠标放上去显示全名   */    .kb2wText{display:block; height:20px; width:150px; line-height:20px; color:#0 ...

  10. Spring框架bean的配置(3):基于注解的配置

    1.基于注解的配置: @Component: 基本注解, 标识了一个受 Spring 管理的组件 @Respository: 标识持久层组件 @Service: 标识服务层(业务层)组件 @Contr ...