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中,或者如果代码中指定了输出目录,就是指定输出目录,为了减少自己的麻烦,我都是默认。

jenkins+gradle打包android遇到的坑的更多相关文章

  1. Jenkins+Gradle实现android开发持续集成、打包

    Jenkins简介 Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在的错误, ...

  2. gradle打包android (实现外部导入签名文件、多渠道打包、导入ant脚本)

    近期一直在做android自己主动打包,之前已经完毕了用纯命令行的形式打包.原生态ant脚本打包.和基于android的SDK的打包.而且实现了多渠道打包,后来同事推荐了gradle,网上的资料说gr ...

  3. 照片教你eclipse通过使用gradle 打包Android

    gradle其他优点不说,在android当应用程序公布.假设你要算一些渠道,gradle 在节目包装散装优势:下面给大家介绍的图形 按eclipse当出口 选择Android:例如下面的附图 一步一 ...

  4. Jenkins + Gradle + pgyer + Android自动发布

    Jenkins配置与必要的环境配置 一:Jenkins服务端(Linux系统为例说明): 1.jdk安装与配置 2.SDK安装与配置 3.安装配置对应的gradle版本(建议gradle版本在4.1版 ...

  5. 在服务器上使用 gradle 打包 android 源码

    安装 android-tools mkdir ~/android && cd ~/android   wget https://dl.google.com/android/reposi ...

  6. weex打包android apk采坑之旅(windows)

    1. npm install weex-toolkit -g 后weex命令不起作用 ,解决办法把weex.cmd所在的目录添加到环境变量PATH 2.weex命令每次报找不到文件'C:\Progra ...

  7. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  8. MAC下配置gradle用eclipse 打包android程序

    1.下载gradle binhttp://gradle.org/gradle-download/ 2.配置gradle,http://www.douban.com/note/311599602/htt ...

  9. jenkins 安卓打包生成二维码下载

    先来张图看看吧 构思 jenkins gradle 打包apk文件,python myqr 模块生成二维码 放入nginx 访问图片的路径,apk安装包放在 nginx 下载目录. 环境 centos ...

随机推荐

  1. python中读取json文件报错,TypeError:the Json object must be str, bytes or bytearray,not ‘TextIOWrapper’

    利用python中的json读取json文件时,因为错误使用了相应的方法导致报错:TypeError:the Json object must be str, bytes or bytearray,n ...

  2. redis之持久化操作

    简介 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(d ...

  3. Linux系统的SVN客户端使用技巧详解

    忽略文件/文件夹 假设想忽略文件temp,cd到temp所在的目录下: $ svn propedit svn:ignore . [注意:请别漏掉最后的点(.表示当前目录),如果报错请看后面] 打开的文 ...

  4. Spark如何写入HBase/Redis/MySQL/Kafka

    一些概念 一个partition 对应一个task,一个task 必定存在于一个Executor,一个Executor 对应一个JVM. Partition 是一个可迭代数据集合 Task 本质是作用 ...

  5. (转)spring mvc forward与redirect

    forward 转发,如return "forward:/hello"; 浏览器的地址栏不会变,但是有视图返回来 redirect 重定向,如return "redire ...

  6. Objective-C中new与alloc/init的区别

    在实际开发中很少会用到new,一般创建对象我们看到的全是[[className alloc] init],但是并不意味着你不会接触到new,在一些代码中还是会看到[className new],还有去 ...

  7. PHP压缩与解压Zip(PHPZip类)

    <?php     class PHPZip     {         private $ctrl_dir     = array();         private $datasec    ...

  8. IOS系统推送原理

    IOS推送大致原理如下图 1.Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]): 2. ...

  9. Java设计模式—单例模式

    Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点. 核心知识点如下: (1) 将采用单例设计模式的类的 ...

  10. java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 异常处理,及MySQL数据库编码设置

    java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,C ...