您的位置:首页 > 移动开发

jenkins+gradle配置android app打包(环境准备)

2018-03-30 20:34 513 查看
jenkins作为持续集成管理平台,只能把运行脚本控制执行顺序管理,并且通过插件界面可视化配置。并不能实现编译打包功能,需要安装的工具还得安装配置。

apk打包需要准备的环境有:

- jdk

- android sdk

- gradle

jdk配置

下载jdk 1.8,然后解压,配置环境变量

tar -xvzf jdk-8u65-linux-x64.tar -C /usr/local/java/

vi /etc/profile

#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JAVA_HOME JRE_HOME CLASS_PATH PATH

#保存退出
:wq

# source /etc/profile

# java -version


此处如果java -version 不是java_home中的版本,应该是默认java版本文件路径,在JAVA_HOME路径前,按照循序查找PATH。只需要把,把JAVA_HOME前移

jenkins指定jdk版本(可多个)

进入jenkins —— 系统管理 —— 全局工具配置

找到JDK,新增jdk,设置别名与在服务器的安装目录


android sdk

下载对应版本的s
4000
dk

网上流传的下载地址:https://developer.android.com/sdk/index.html

实际上上述地址并未找到sdk的下载地址,我使用的是:http://tools.android-studio.org/index.php/sdk/

由于我的是linux服务器,我选择了android-sdk_r24.4.1-linux.tgz下载。

下载后上传到服务器的指定目录并解压

tar -zvxf android-sdk_r24.4.1-linux.tgz -C /opt


解压后进入tools目录,执行android命令报错:

[root@bbcs1 tools]# ./android
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
at org.eclipse.swt.widgets.Display.create(Unknown Source)
at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.getDefault(Unknown Source)
at org.eclipse.swt.widgets.Shell.<init>(Unknown Source)
at org.eclipse.swt.widgets.Shell.<init>(Unknown Source)
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.createShell(SdkUpdaterWindowImpl2.java:168)
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.open(SdkUpdaterWindowImpl2.java:137)
at com.android.sdkuilib.repository.SdkUpdaterWindow.open(SdkUpdaterWindow.java:111)
at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:413)
at com.android.sdkmanager.Main.doAction(Main.java:391)
at com.android.sdkmanager.Main.run(Main.java:151)
at com.android.sdkmanager.Main.main(Main.java:117)


经过百度得知,./android会调用桌面应用,而我通过远程ssh访问服务器,且与机房像个甚远,只能通过命令更新sdk版本。

# 查看可以用的组件
android list sdk --all

# 通过filter指定下载的版本(filter接的数字,来自于list查找的工具序号)
android update sdk -u --all --filter 2,22,23,24,25,26


一般情况下,默认需要的工具有(Platform-tools,至少一个build-tools,至少一个Platform,Android Support Repository)

2- Android SDK Platform-tools, revision 27.0.1

15- Android SDK Build-tools, revision 25

46- SDK Platform Android 7.1.1, API 25, revision 3

也可全部安装,用时较久

# android update sdk --no-ui


配置环境变量

在文件/etc/profile末端添加如下两行:

export ANDROID_HOME='/opt/android-sdk-linux'
export PATH=$ANDROID_HOME/tools:$PATH


gradle

gradle多个平台公用一个版本,只需要官网下载所需版本解压即可。

下载完成,在jenkins配置gradle版本

进入jenkins —— 系统管理 —— 全局工具配置

找到gradle,新增gradle,设置别名与在服务器的安装目录(同jdk)

jenkins工程构建

参考网络资料:

https://blog.csdn.net/zhaoyanjun6/article/details/77102359

https://blog.csdn.net/ncepudmx/article/details/77451314

其他:

需要了解gradle的配置,编译原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: