简介
公司内部,开发人员经常打包Android项目,如果在本机电脑,会浪费不少时间以及资源,并且流程每个人都不一样。所以目的:节约时间,统一规定打包流程。
部署基本环境
- java jdk 1.8
- jenkins
- Android sdk
- git
- jenkins插件
搭建基本环境
1. jdk
下载 jdk-8u51-linux-x64.rpm rpm包
执行命令rpm -ivh jdk-8u51-linux-x64.rpm
安装jdk
2. jenkins搭建在此教程就不详述。
3. android sdk
- 下载android sdk
找到对应系统的版本下载即可。
我下载的是
curl -O http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
- 安装:
tar zvxf ~/Downloads/android-sdk_r24.4.1-linux.tgz -C ~/bin
# 查看可以用的组件
android list sdk --all
# 通过filter指定下载的版本(filter接的数字,来自于list查找的工具序号)
android update sdk -u --all --filter 1,2,3
然后是配置环境变量
export ANDROID_HOME='/opt/android-sdk-linux'
export PATH=$ANDROID_HOME/tools:$PATH
4. git
准备项目git地址,以及用户名密码。
5. jenkins插件gradle
点击jenkins的系统管理-插件管理,然后点击可选插件,搜索输入gradle,我们勾线gradle plugin,然后点击安装。
jenkins新建项目
-
构建自由风格项目
-
构建设置
-
git地址
-
gradle设置
- 保存后,点击构建,如果没有意外,就会构建成功了。
意外情况
报错信息:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> You have not accepted the license agreements of the following SDK components:
[Android SDK Build-Tools 25.0.2, Android SDK Platform 25].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from one workstation to another, go to [http://d.android.com/r/studio-ui/export-licenses.html](http://d.android.com/r/studio-ui/export-licenses.html)
大概意思是:下载sdk依赖包时,没有自动接收license。
解决方法:
mkdir -p "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
意思是在$ANDROID_HOME目录下创建licenses目录,在$ANDROID_HOME/licenses目录下创建文件android-sdk-license,里面添加“8933bad161af4178b1185d1a37fbf41ea5269c55”。
同理创建android-sdk-preview-license,添加“84831b9409646a918e30573bab4c9c91346d8abd”
添加后可能还会报错,这时要看一看$ANDROID_HOME这个目录jenkins启动用户是否有权限执行这个目录。
修改权限:
chown -R jenkins:jenkins $ANDROID_HOME
到此为止,构建成功。
网友评论