zoukankan      html  css  js  c++  java
  • jenkins+gradle打包android遇到的坑

    1.gradle与gradlew的选择

      配置project,我们选择gradle进行打包。会看到如下图配置项。然而很多网上教程中给出的选择是第一项。只能这么说,如果你是新建一个androidDemo,这样设置完全没问题。

    但是一个真实的项目,这样恐怕就要出问题。也许见识的比较少,不知道猜测对不对,团队合作,每个人的环境不一致,可能导致Build失败,于是使用的项目使用的是gradle wrapper。如果我们这里配置invoke gradle,就会报错。(报什么错呢,等我去修改下配置,给图给各位看,已经截图了)

      当初看到这个错,搞了很久,怎么都不行,后来反复看了一位前辈的文章(找不到出处了),觉得有可能是因为选错了,于是尝试使用 use gradle wrapper。可以自行下载相应的包,也可以自动下载,需要的版本在android项目文件中应该有写,不知道的话请联系项目研发,如果是你自己写的项目,找不到,那我也无话可说了。

      配置完,点击构建,解决,Build成功。

    2.打包成功,但是打出来的release包标记了unsigned.

      嘛意思呢,就是没有签名。没有签名意味着,无法安装,无法发布。于是找研发问了,签名如何实现的。研发也是很热心,过来点点点,输入密码各种key,然后打包完了。

      然并卵,我总不可能让Jenkins也点点点啊。。。于是研究如何代码中如何实现的签名的,android studio是如何实现签名的。无数次的麻烦研发,看代码之后,终于发现android studio与jenkins想要实现上完全不一样。android studio打包会去选择签名文件以及输入各种信息,然而我们jenkins想要自动化打包,则必须将所需信息写在配置文件里面。下面是代码截图

      buildTypes中的sigingConfig signingConfigs.signingConfig   就是调用上面的配置文件。作为测试搞不定这个代码,就找研发吧。(就算搞定,没有权限提交,也请找研发)

    配置完成之后再构建打包,应该就能解决签名不成功的问题了(自己找到的解决办法,找研发改的代码之后解决了问题,作为一名测试,还是很有成就感)

    3.打完包去哪儿了呢?

      好吧,这个问题其实是自己对jenkins不熟悉造成的。如果是androidstudio打包,会到项目主目录下,但是如果是jenkins就不是了。会在project输出目录中去…/outputs中,或者如果代码中指定了输出目录,就是指定输出目录,为了减少自己的麻烦,我都是默认。

  • 相关阅读:
    3.2单变量分析 proc univariate
    method of walking——地点定桩法
    韩语陈述句末尾词语法
    数据挖掘简述
    MERGE语句——数据集横向合并
    【转】JavaScript中一个方法同时发送两个ajax请求问题
    ASP.NET MVC中controller和view相互传值的方式
    【转】007.ASP.NET MVC控制器依赖注入
    【转】MVC之 自定义过滤器(ActionFilterAttribute)
    【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
  • 原文地址:https://www.cnblogs.com/zoulifeng2017/p/7874173.html
Copyright © 2011-2022 走看看