关于Android构建

“IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定”

这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令行工具,因为只有命令行才是最佳的人机交互工具。其实 IDE也是底层也是调用命令行工具而已,只不过给普通开发者呈现一个更友好的开发界面。这里可不是宣扬让大家放弃IDE都改命令行,只是每种事物都有他存 在的理由,无论是编程语言还是工具都是一个原则 “没有最好的,只有最合适的”。

发布产品的时候为了统计各渠道流量免不了要构建不通的渠道包,你懂得国内渠道上 百个,靠IDE编译打包非吐血不可。这些重复劳动最适合交个程序来做,很多程序员想不明白这个问题,宁愿把大量的精力时间花在业务上,却不知道用工具提高工作效率。在这里写一篇简单的教程,告诉大家怎么脱离IDE环境完成一个android项目的编译构建,有了这基础开发什么自动化构建工具都不是什么难事了, 前一阵子做的一个打包html5应用的在线工具AppBuilder就是基于命令行构建完成的。

说到命令行自然是不需要图形界面,所以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的方法。

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java7-installer

step 2 安装 Android SDK

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

sudo dpkg --add-architecture i386

sudo apt-get update

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1

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

cd ~

wget http://dl.google.com/android/android-sdk_r24.0.1-linux.tgz

tar xvzf android-sdk_r24.0.1-linux.tgz

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

ANDROID_HOME=$HOME/android-sdk-linux

export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools"

exprot ANDROID_HOME

使环境变量生效

source ~/.profile

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

android list sdk --all

输出如下所示:

1- Android SDK Tools, revision 24.0.1

 2- Android SDK Platform-tools, revision 21

 3- Android SDK Build-tools, revision 21.1.2

 4- Android SDK Build-tools, revision 21.1.1

 5- Android SDK Build-tools, revision 21.1

 6- Android SDK Build-tools, revision 21.0.2

 7- Android SDK Build-tools, revision 21.0.1

 8- Android SDK Build-tools, revision 21

 9- Android SDK Build-tools, revision 20

10- Android SDK Build-tools, revision 19.1

11- Android SDK Build-tools, revision 19.0.3

12- Android SDK Build-tools, revision 19.0.2

13- Android SDK Build-tools, revision 19.0.1

14- Android SDK Build-tools, revision 19

15- Android SDK Build-tools, revision 18.1.1

16- Android SDK Build-tools, revision 18.1

17- Android SDK Build-tools, revision 18.0.1

18- Android SDK Build-tools, revision 17

19- Documentation for Android SDK, API 21, revision 1

20- SDK Platform Android 5.0.1, API 21, revision 2

21- SDK Platform Android 4.4W.2, API 20, revision 2

22- SDK Platform Android 4.4.2, API 19, revision 4

23- SDK Platform Android 4.3.1, API 18, revision 3

24- SDK Platform Android 4.2.2, API 17, revision 3

....

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

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

step 3 安装gradle构建环境

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

下载 grdle 二进制包

cd ~

wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip

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

unzip gradle-2.2.1-bin.zip

ln -s gradle-2.2.1 gradle

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

GRADLE_HOME=$HOME/gradle

export PATH=$PATH:$GRADLE_HOME/bin

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

source ~/.profile

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

gradle

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

:help

 

Welcome to Gradle 2.2.1

 

To run a build, run gradle <task> ...

 

To see a list of available tasks, run gradle tasks

 

To see a list of command-line options, run gradle --help

 

BUILD SUCCESSFUL

验证是否可以编译android 应用

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

git clone https://github.com/examplecode/gradle_demo

cd gradle_demo/hello-apk-with-gradle

gradle build

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

By:http://www.codeceo.com/article/command-android.html

转载请注明出处:http://www.cnblogs.com/haochuang/ 8年IT工作经验,5年测试技术与管理,2年产品与项目管理,曾参与过云计算\云存储\车联网产品研发工作; 业余自媒体人,有技术类垂直微信公众号;如有招聘或求职方面需求,请Mail to uetest@qq.com ;或通过 QQ:363573922 微博:@念槐聚 联系;

时间: 2024-10-23 17:32:18

关于Android构建的相关文章

2、Android构建本地单元测试

如果你的单元测试在Android中没有依赖或者只有简单的以来,你可以在你的本地开发环境中运行你的测试.这种测试比较高效因为它能让你避免将整个app安装到物理设备或虚拟机中执行单元测试.最后,执行单元测试的时间大量减少.你可以通过模拟框架,比如Mockito来模拟依赖关系. 配置你的测试环境 前文已经叙述. 创建一个本地单元类 你的本地测试单元类风格类似Junit 4测试类.Junit是Java最流行应用最广泛的单元测试类.最新的版本,Junit 4,允许你用比之前版本更简洁和灵活的方式编写测试.

Android 构建用户界面与Android的碎片

http://www.developer.com/ws/android/development-tools/building-uis-with-android-fragments.html 虽然片段简化了编码的动态用户界面,使用它们的有一个小的开销成本.虽然你的布局将最终确定的代码片段显示,仍然需要做出决定,以确定是否要更新现有的片段,或推出一个新的活动,该片段应不存在于当前活动内容. 例如,下面的代码使用的findFragmentById()方法,以确定是否一个片段是在一个特定的布局.如果没有

3、Android构建仪表测试

不同于运行于JVM的本地单元测试,仪表测试运行于你的物理设备或虚拟机中.当你需要访问设备的信息(比如Context)或者使用真正的Android framework组件时(比如SharePreferences)时,你需要创建仪表测试.使用仪表测试同样可以帮助你减少mock代码.如果你需要,同样可以使用虚拟框架. 搭建测试环境 第一篇已经阐述 创建仪表测试类 你的仪表测试类风格类似Junit 4 测试类. 创建一个仪表测试类,需要在类定义前面添加 @RunWith(AndroidJUnit4.cl

Android构建Material Design应用详解

长久以来.Android的UI并不算美观,以至于很多IT公司在进行界面设计的时候,为了保证双平台的统一性,强烈要求Android端的界面风格必须与iOS端一致,我认为这里非常不合理的,同一操作系统中各个应用之间的界面统一性要远比一个应用在双平台的界面统一性重要的多,只有这样,才能给使用者带来更好的用户体验.为了解决这个问题,Google公司在2014年IO大会上推出了一套全新的界面设计语言--Material Design(材料设计语言),这次Google在界面设计上确实下足了功夫,一个词,好看

在Ubuntu系统上构建Android环境以及从Google Play上下载APK

  打造一个全命令行的Android构建系统 step 1 安装 JDK 环境 配合android的JDK最好选用JDK官方版本而不是Open JDK,下面是在unbuntu下安装JDK 1.7的方法. 代码如下: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer step 2 安装 Android SDK android sdk

4.0、Android Studio配置你的构建

Android构建系统编译你的app资源和源码并且打包到APK中,你可以用来测试,部署,签名和发布.Android Studio使用Gradle,一个高级的构建套件,来自动化和管理构建进程,同时可以允许你灵活的自定义构建配置.每个构建配置可以定义它自己的代码和资源集合. Gradle和Android插件独立于Android Studio运行.这就意味着你可以在你的机器上在命令行.Android Studio.或者没有安装Android Studio的机器中构建你的Android APP. And

Android中使用Gradle来构建App项目的入门指南

gradle是Android开发中引入的全新的构建系统,因为全新的构建系统主要是出于下面的目的: 1. 方便复用代码和资源 2. 构建多种版本的apk更见简单,不论是为多渠道构建不同的apk还是构建不同环境的apk(debug,release) 3. 方便配置,扩展,自定义构建过程 4. 良好的IDE集成 为什么选择Gradle? Gradle主要有以下几个有点: 1. 使用领域驱动语言(DSL)来描述构建逻辑 2. 构建脚本使用Groovy,可以方便的定制构建逻辑 3. 内建的依赖管理系统,使

Android应用程序签名概述

在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系. 1. 为什么要签名 如果只能用一句简单的话语来回答这个问题的话,我会说:"这是Android系统所要求的". 应用程序签名是一个这样的过程,即使用私有密钥数字地签署一个给定的应用程序,以便达到如下3个目的: ◆识别代码的作者 ◆检测应用程序是否发生了改变 ◆在应用程序之间建立信任 基于这一信任关系,应用程序可以安全地共享代码和数据.如果一个 permis

用 Xamarin 和 Visual Studio 构建 iOS 应用

本文讲的是用 Xamarin 和 Visual Studio 构建 iOS 应用, 当创见一个 iOS 的应用程序的时候,开发者们一贯倾向于使用那些由 Apple 公司提供的编程语言和 IDE: Objective-C /Swift 和 Xcode.然而,这并不是唯一的选择 - 你还可以通过使用很多其他的编程语言和框架去创建一个 iOS 应用程序. Xamarin 是最热门的选择方式之一,它是一个跨平台的开发框架,允许你使用 C# 和 Visual Studio 开发 iOS, Android,