android自动化打包报错,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安装

922dd54c8ca9cbcaeba5f5f4294a6ec0.png

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

环境变量配置

java环境配置

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

在系统变量中添加

变量名 JAVA_HOME

变量值 C:Program FilesJavajdk1.8.0_131 (路径根据自己实际的java安装目录选择)

24bb4096cabe78e1709315d84a23a6b3.png

在系统变量中添加

变量名 CLASS_PATH

变量值 ./;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar

3b2b0e00470244de2d2c3862d48583df.png

在Path变量中添加

%Java_Home%in

403a521f35867b117cd243e894579c57.png

sdk环境配置

在系统变量中添加

变量名 ANDROID_HOME

变量值 D:Android (路径根据自己实际的java安装目录选择)

1a64ecc4254954c9d3a293ae3f9af6bd.png

jenkins配置

安装完jenkins一般会自动在浏览器中打开,没有的话在浏览器输入 localhost:8080

页面出来后会提示选择安装插件,第一个是默认推荐的插件,第二个是自己选择要安装的插件,插件安装完后创建用户和用户名

完事后登陆.我们选择默认插件就行 git svn gradle这些默认都有了,安装过程中有些可能安装不成功 无关紧要的直接跳过

1bd373f20f3dba75f266dfa050997e01.png

点击系统管理 系统设置 全局属性 填入sdk位置 如图

f4decdff7d0a6c552ab0be3f94311a2b.png

点击系统管理 系统设置 主目录 点高级 配置源码放置的位置 这里我们只更改工作空间根目录,windows版本默认的根目录在C盘底下路径过长aapt编译会报错。

c8617fcff3b4671e91c5ea3642a0b698.png

ef4944b28ce0b75cba0e7c7e29b696ca.png

jenkins gradle配置

系统管理 全局工具配置 找到gradle 填写自己项目用到的gradle地址 路径

70f169cb83356ee6aa3dc46a8018d9bd.png

开始构建

点击新建任务 输入一个任务名称 选择构建一个自由风格的软件项目 点击确定

4e02c8721fbf20656f2a47c726ed8ead.png

源码管理 选择svn 添加自己的svn项目地址和svn账号

cb5f0377e0808d83ed584644dacd8ab9.png

构建触发器

这个可以先不设置,触发器里面可以设置触发编译任务的条件,我这里设置一个口令触发编译任务,在浏览器中输入下地址即可触发

a7604ba4d9ab9532d5431d78ab4630f3.png

构建环境

选择 Invoke Gradle script 选择我们设置好的gradle版本

897c0a2dabd09122d60e6fd011a03dea.png

93fb8c5482b32ceea9ef4812c779d5e2.png

9883ec56dce4d30be2a6b2a50f583158.png

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

构建后操作

Archive the artifacts 用户存档的文件 这里选择填入apk输出的路径

比如我是这个

app/build/outputs/channels/9ikandian/*.apk

ok大功告成!点击保存!

55ae0d578ccfe1a8bf5a4456745e2e7a.png

立即构建

点击立即构建 不出意外就开始同步源码 然后执行编译命令啦

左边的任务进度 蓝色代表执行成功 红色是编译报错

e0fc4576e93c8b81fe4d6b263d275182.png

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

自动上传到fir.im

可以看这个文章很详细

编译中的错误指南

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

AAPT: ?C:WindowsSystem32configsystemprofile.androiduild-cacheeb8810c9ed7d0229582090839eb229e4938e96dcoutputesdrawable-hdpi-v4abc_textfield_search_default_mtrl_alpha.9.png ERROR: Unable to open PNG file

AAPT: ?C:WindowsSystem32configsystemprofile.androiduild-cacheeb8810c9ed7d0229582090839eb229e4938e96dcoutputesdrawable-xhdpi-v4abc_ab_share_pack_mtrl_alpha.9.png ERROR: Unable to open PNG file

AAPT: ?C:WindowsSystem32configsystemprofile.androiduild-cacheeb8810c9ed7d0229582090839eb229e4938e96dcoutputesdrawable-xhdpi-v4abc_list_selector_disabled_holo_dark.9.png ERROR: Unable to open PNG file

AAPT: ?C:WindowsSystem32configsystemprofile.androiduild-cacheeb8810c9ed7d0229582090839eb229e4938e96dcoutputesdrawable-xhdpi-v4abc_textfield_search_default_mtrl_alpha.9.png ERROR: Unable to open PNG file

AAPT: ?C:WindowsSystem32configsystemprofile.androiduild-cacheeb8810c9ed7d0229582090839eb229e4938e96dcoutputesdrawable-xhdpi-v4abc_textfield_search_activated_mtrl_alpha.9.png ERROR: Unable to open PNG file

AAPT: ?C:WindowsSystem32configsystemprofile.androiduild-cacheeb8810c9ed7d0229582090839eb229e4938e96dcoutputesdrawable-mdpi-v4abc_textfield_search_activated_mtrl_alpha.9.png ERROR: Unable to open PNG file

这个报错在stackoverflow找到答案

在项目的gradle.properties指定buildCache目录

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

a055b6c1a3299dbae26253d55f403b80.png

2.lint报错

在buid.gradle 中的android{} 添加如下代码

lintOptions {

abortOnError false

}

354a00f0de751e5e0f5323ab8a1e617f.png

3 . 9图片报错,或者有些图片是jpg格式但是后缀名被改成.png…

在buid.gradle 中的android{} 添加如下代码

aaptOptions {

cruncherEnabled = false

useNewCruncher = false

}

4 . gradle下载路径过长报错

AAPT err(Facade for 1437101184): ?C:WindowsSystem32configsystemprofile.gradlecachesransforms-1files-1.1appcompat-v7-26.0.0.aar264fcc9b244bebcc581080c33ad60c6cesdrawable-xhdpi-v4abc_scrubber_track_mtrl_alpha.9.png ERROR: Unable to open PNG file

AAPT err(Facade for 2117291169): ?C:WindowsSystem32configsystemprofile.gradlecachesransforms-1files-1.1appcompat-v7-26.0.0.aar264fcc9b244bebcc581080c33ad60c6cesdrawable-xxhdpi-v4abc_list_focused_holo.9.png ERROR: Unable to open PNG file

AAPT err(Facade for 2117291169): ?C:WindowsSystem32configsystemprofile.gradlecachesransforms-1files-1.1appcompat-v7-26.0.0.aar264fcc9b244bebcc581080c33ad60c6cesdrawable-mdpi-v4abc_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

d8168416c77af91e24036f2ca63444cd.png

bb38b6c9c1db4bacee1b9f7735057bb8.png

好了今天的分享就到这,有任何疑问联系我

微博:Liberation_k

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值