win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法

win10 jenkins svn android studio 自动化打包教程

这两天搭建jenkins自动构建环境,中间遇到点坑坑洼洼 分享出来希望后来人少走些弯路

准备软件

  • jenkins.msi 官网下载地址 我这里选择Windows版本
  • jdk1.8开发环境 android studio配置过的估计都没多大问题
  • svn
  • android sdk
  • gradle
  • fir.im账号 (不必须)

jenkins安装

win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第1张图片

是的很简单 双击运行 下一步 下一步

环境变量配置

  • java环境配置

右键此电脑-属性-高级系统设置-环境变量

在系统变量中添加
变量名 JAVA_HOME
变量值 C:\Program Files\Java\jdk1.8.0_131 (路径根据自己实际的java安装目录选择)
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第2张图片

在系统变量中添加
变量名 CLASS_PATH
变量值 ./;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第3张图片

在Path变量中添加
%Java_Home%\bin
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第4张图片

  • sdk环境配置
    在系统变量中添加
    变量名 ANDROID_HOME
    变量值 D:\Android (路径根据自己实际的java安装目录选择)
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第5张图片

  • jenkins配置
    安装完jenkins一般会自动在浏览器中打开,没有的话在浏览器输入 localhost:8080
    页面出来后会提示选择安装插件,第一个是默认推荐的插件,第二个是自己选择要安装的插件,插件安装完后创建用户和用户名
    完事后登陆.我们选择默认插件就行 git svn gradle这些默认都有了,安装过程中有些可能安装不成功 无关紧要的直接跳过

win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第6张图片
点击系统管理 系统设置 全局属性 填入sdk位置 如图
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第7张图片

点击系统管理 系统设置 主目录 点高级 配置源码放置的位置 这里我们只更改工作空间根目录,windows版本默认的根目录在C盘底下路径过长aapt编译会报错。
这里写图片描述
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第8张图片

  • jenkins gradle配置
    系统管理 全局工具配置 找到gradle 填写自己项目用到的gradle地址 路径
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第9张图片

  • 开始构建
    点击新建任务 输入一个任务名称 选择构建一个自由风格的软件项目 点击确定
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第10张图片

  • 源码管理 选择svn 添加自己的svn项目地址和svn账号
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第11张图片

  • 构建触发器
    这个可以先不设置,触发器里面可以设置触发编译任务的条件,我这里设置一个口令触发编译任务,在浏览器中输入下地址即可触发
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第12张图片

  • 构建环境
    选择 Invoke Gradle script 选择我们设置好的gradle版本
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第13张图片
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第14张图片
    win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第15张图片

task中输入编译命令 我的项目采用了美团的多渠道打包 按文档输入编译命令即可

  • 构建后操作

Archive the artifacts 用户存档的文件 这里选择填入apk输出的路径
比如我是这个
app/build/outputs/channels/9ikandian/*.apk

ok大功告成!点击保存!

win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第16张图片

  • 立即构建

点击立即构建 不出意外就开始同步源码 然后执行编译命令啦
左边的任务进度 蓝色代表执行成功 红色是编译报错
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第17张图片

生成的apk就在 最后一次成功的构建结果

  • 自动上传到fir.im
    可以看这个文章很详细

  • 编译中的错误指南

1.aapt报错 ERROR: Unable to open PNG file

AAPT: \\?\C:\Windows\System32\config\systemprofile\.android\build-cache\eb8810c9ed7d0229582090839eb229e4938e96dc\output\res\drawable-hdpi-v4\abc_textfield_search_default_mtrl_alpha.9.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Windows\System32\config\systemprofile\.android\build-cache\eb8810c9ed7d0229582090839eb229e4938e96dc\output\res\drawable-xhdpi-v4\abc_ab_share_pack_mtrl_alpha.9.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Windows\System32\config\systemprofile\.android\build-cache\eb8810c9ed7d0229582090839eb229e4938e96dc\output\res\drawable-xhdpi-v4\abc_list_selector_disabled_holo_dark.9.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Windows\System32\config\systemprofile\.android\build-cache\eb8810c9ed7d0229582090839eb229e4938e96dc\output\res\drawable-xhdpi-v4\abc_textfield_search_default_mtrl_alpha.9.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Windows\System32\config\systemprofile\.android\build-cache\eb8810c9ed7d0229582090839eb229e4938e96dc\output\res\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Windows\System32\config\systemprofile\.android\build-cache\eb8810c9ed7d0229582090839eb229e4938e96dc\output\res\drawable-mdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png ERROR: Unable to open PNG file

这个报错在stackoverflow找到答案
在项目的gradle.properties指定buildCache目录

android.buildCacheDir=D\:/android-studio/build-cache

这里写图片描述

2.lint报错
在buid.gradle 中的android{} 添加如下代码

 lintOptions {
    abortOnError false
  }

win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第18张图片

3 . 9图片报错,或者有些图片是jpg格式但是后缀名被改成.png…
在buid.gradle 中的android{} 添加如下代码

 aaptOptions {
        cruncherEnabled = false
        useNewCruncher = false
    }

4 . gradle下载路径过长报错

AAPT err(Facade for 1437101184): \\?\C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.0.0.aar\264fcc9b244bebcc581080c33ad60c6c\res\drawable-xhdpi-v4\abc_scrubber_track_mtrl_alpha.9.png ERROR: Unable to open PNG file
AAPT err(Facade for 2117291169): \\?\C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.0.0.aar\264fcc9b244bebcc581080c33ad60c6c\res\drawable-xxhdpi-v4\abc_list_focused_holo.9.png ERROR: Unable to open PNG file
AAPT err(Facade for 2117291169): \\?\C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.0.0.aar\264fcc9b244bebcc581080c33ad60c6c\res\drawable-mdpi-v4\abc_textfield_activated_mtrl_alpha.9.png ERROR: Unable to open PNG file

在task 编译参数后面制定gradle依赖下载地址即可

clean build -g D:\gradle-cache 

或者添加环境变量 如图

GRADLE_USER_HOME
D:\gradle_home

win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第19张图片
win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法_第20张图片
好了今天的分享就到这,有任何疑问联系我
微博:Liberation_k

你可能感兴趣的:(Android开发,教程,Jenkins)