首页
学习
活动
专区
圈层
工具
发布

Android使用Jenkins自动化构建测试打包apk

为什么说GRADLE_USER_HOME字段要固定写呢,因为要和Gradle的配置字段一致,否则编译会报错,如果这里不进行配置Gradle会使用默认的目录,会因为默认目录路径太长导致编译报错,是不是很坑...点击配置,进行构建前的详细配置,先配置普通项General,勾选Github prooject,设置远程仓库地址,以Github为例: ?...接下来设置 构建 点击增加构建步骤,选择Invoke Gradle script ? 勾选Invoke Gradle,选择gradle ? Tasks 填写 clean build 命令 ?...构建成功打包的apk在此目录下 ? 接下来我们可以设置让构建打包好的apk自动发布到fir,详细教程请移步至http://blog.fir.im/jenkins文章写得很详细,我就不多说了。...发布到fir后,平常测试人员找你要测试包,你可以对他说:“自己去fir下载。”一脸帅气.jpg 好了,今天就分享到这,祝大家Jenkins构建之路愉快!

3.6K21

Android Apk瘦身方案2——gradle插件将png自动压缩为webp

实现思路 在 mergeRes 和 processRes 任务之间插入 WebP 压缩任务,如下图所示: 使用开源框架Cwebp,使用命令行对所有的图片进行遍历处理,然后将结果输出 Google...WebP 格式在 14 <= minSdkVersion <= 17 不支持带 alpha 通道的图像,所以,针对 AAPT2, alpha 两个维度,将 task 分成了4 种: 应用是发布在...代码实现 以下代码均来自booster开源项目 1.自定义gradle插件BoosterPlugin.java 这里的variantProcessors方法代码如下: private val...with PNG format launcher icon // https://developer.android.com/topic/performance/reduce-apk-size...file.name.regionMatches(file.name.length - 11, ".9", 0, 2, true)) 上面的代码就条件就是png.flat的过滤条件 还有这些.flat文件又是如何进行解析呢

1.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Docker+Jenkins持续集成环境(5): android构建与apk发布

    项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台。...android 构建 安装android sdk: 先下载sdk tools 然后使用sdkmanager安装: ....jenkins 配置 jenkins需要安装gradle插件,构建的时候选择gradle构建,选择对应的版本即可。 ? 构建也比较简单,输入clean build即可。...: 0) } apk发布 解决方案分析 jenkins构建的apk能自动发布吗? 国内已经有了fir.im,pgyer蒲公英等第三方的内测应用发布管理平台,对于小团队,注册使用即可。...文件存储 文件可以存储到mongodb或者分布式文件系统里,这里内部测试使用mongdb gridfs即可,在spring boot里,可以使用GridFsTemplate来存储文件: /**

    2.3K80

    使用新 Android Gradle 插件加速您的应用构建

    自 2020 年底,Android Gradle 插件 (AGP) 已经开始使用新的版本号规则,其版本号将与 Gradle 主要版本号保持一致,因此 AGP 4.2 之后的版本为 7.0 (目前最新的版本为...在更新 Android Studio 时,您可能会收到一并将 Gradle 更新为最新可用版本的提示。...△ 配置缓存带来的性能提升 上图展示包含 24 个子项目的 Gradle 构建示例,这组构建使用了最新版本的 Kotlin、Gradle 和 Android Gradle 插件。...关于 Gradle 配置缓存和如何迁移您的构建任务的更多信息,请参阅: Gradle 文档 深入探索 Android Gradle 插件的缓存配置 扩展 Android Gradle 插件 不少开发者都发现在自己的构建任务中...新版本的 Android Gradle 插件允许您为自定义插件编写额外的 DSL 内容,所以我们会用这种方式来编辑每个构建类型的额外 asset。

    3.5K30

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ④ ( 使用路由实现组件间通信 | 引入 ARoute 框架 | Gradle 构建脚本优化问题 )

    文章目录 一、使用路由实现组件间通信 二、抽取构建脚本 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用 | 依赖库模块.../ 应用模块 切换设置 ) 最后提到了 在 Gradle 构建脚本中 , 需要实现 依赖库模块 / 应用模块 切换设置 , 主要涉及如下两个方面 : build.gradle 构建脚本 切换设置 ,...切换 应用 / 依赖库 ; AndroidManifest.xml 清单文件 切换设置 , 设置 启动 Activity 项 ; 在 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现...插件】组件化中的 Gradle 构建脚本实现 ③ ( 在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ) 博客实现 使用 Gradle 脚本修改 AndroidManifest.xml...isModuleDebug 设置为 false. ( 非单独运行 ) * 模块化导入 com.android.library 插件 */ apply plugin: 'com.android.library

    1.2K20

    章鱼抓娃娃添加Bugly-Tinker热更新支持

    Bugly热更新采用Tinker开源方案,官方文档如下: Bugly Android热更新使用指南 Bugly Android热更新详解 接入热更新 我们的章鱼App之前就已经接入了Bugly,所以添加热更新支持...这很容易让我们发布线上包后丢失关键文件(用于生成对应补丁包的文件),即打包后在 app/build/bakApk/日期 目录下生成的如下文件: app-release.apk (必有,预发布为app-prerelease.apk...不过,不建议如此,热修复依然存在许多问题,在预发布环境先行测试补丁效果具有必要性。 如何生成补丁 线上补丁与测试补丁生成的差异主要体现在配置上。 生成测试补丁 将代码切回至有问题的线上节点。...如何发布补丁 生成后的补丁位于项目 app/build/outputs/patch/环境 目录下,其中, patch_signed_7zip.apk 文件即为要发布的补丁。...这样,APK_DATE 即为apk的构建时间(即我们用指令生成该apk或其最新补丁的时间); 在设置页面连击版本号7次,即可观察到相关信息 "生成时:" + BuildConfig.APK_DATE

    1.1K20

    使用Gradle管理你的Android Studio工程

    其他关于Gradle的更多介绍请参考Gradle使用指南 Android Studio入门 使用Android Studio新建一个工程之后,其目录结构是这样的: ├── app #Android App...,这里以生产环境和测试环境为例来说明该功能的使用。...我们在开发App的时候免不了要和服务器进行通信,我们的服务器一般都有生产和测试环境,当我们处理开发和测试的时候使用测试环境进行调试,正式发布的时候使用生成环境。...在我们进行打包的时候会根据Gradle配置动态替换。 我们发现一般渠道版本都是用来发布的,肯定用的是生产服务器,所以我们可以使用批处理来搞定这个事情,而不用在一个个渠道里写这些配置。...插装测试覆盖率代码 代码覆盖率现在已经成为检验单元测试是否覆盖到的一种手段,Android Gradle提供了原生的用于单元测试的代码覆盖率,这个就是jacoco。

    1.5K40

    Gradle For Android(9)--自定义构建

    介绍 现在我们知道了Gradle如何工作,如何创建自己的Task以及Plugin,如何执行test任务,如何设置CI。...GooglePlay限制了APK大小50M,而一个更小的APK也就意味着用户会更快的下载和安装,并且减少内存空间的占用。 在这一节我们来看看如何通过Gradle构建配置来减少APK大小。...在Gradle的属性中,名为jvmargs,可以用来为JVM启用设置内存分配的值。这两个参数也会对构建速度有直接的影响:Xms和Xmx。...这种方式,你可以继续使用常规的Build Toolchain,并且可以进行一个测试的构建。...app-xxhdpi-release.apk app-xxxhdpi-release.apk 如果你希望把这些APK发布到Google Play上的话,你就需要确保每个APK都有不同的版本号。

    1K10

    Gradle for Android简要指南

    的发布(目前官网最新gradle 为2.2.0), Gradle 也进行了一次非常大的升级,叫Instant Run.它的编译速度网上有人用逆天两个字来形容。...之前可以安装你的应用程序并部署到Android设备,但是,APK必须签名。 3. 该APK打包签署使用Debug或发布密钥库您的APK: a....如果您正在构建您的应用程序,你要在外部释放的发行版中,打包签署您的应用程序一起发布密钥库。要创建一个发布密钥库,了解Android Studio中签署您的应用程序。 4....在构建过程的最后,您有一张调试APK或释放您的应用程序,你可以用它来部署,测试或释放到外部用户的APK。...(此处不做测试开发可以不用了解) 使用Gradle Wrappe防止新版本迭代所导致的问题 grade只是一个构建工具,而新版本总是在更迭,所以使用Gradle Wrapper将会是一个好的选择去避免由于

    1.1K20

    学(kao)习(bei)官方关于64k异常处理 ^_^

    通过 ProGuard 移除未使用的代码 为版本构建启用代码压缩以运行 ProGuard。启用压缩可确保交付的 APK 不含有未使用的代码。...对于发布定制,将 minSdkVersion 设置为适于您的实际最低支持级别。此设置生成的 Dalvik 可执行文件分包 APK 可兼容更多设备,但构建时间更长。...以下构建配置示例展示了如何在 Gradle 构建文件中设置这些定制: android { defaultConfig { ......这些设置会使适用于 Gradle 的 Android 插件执行以下操作: 执行 pre-dexing:将每个应用模块和每个依赖项构建为单独的 DEX 文件; 将每个 DEX 文件加入 APK,并且不做任何修改...还可以构建其他变体,包括 prodDebug 变体构建,该变体虽然构建时间更长,但可用于开发以外的测试。在所示配置内,prodRelease 变体将是最终测试和发布版本。

    1.5K20

    Gradle依赖管理解析

    小编说:依赖管理是Gradle 最耀眼的特点之一。 最佳情况下,你需要做的仅仅是在构建文件中添加一行代码,Gradle 将会从远程仓库下载依赖,确保你的项目能够使用依赖中的类。...你可能想创建自己的依赖库,这样你就可以在没有将其发布到公有或私有仓库时在多个项目中复用。在这种情况下,你不能使用任何在线资源,而是必须通过其他方式来添加依赖。...下面将介绍如何使用文件依赖、如何引入原生依赖,以及在项目中如何引入依赖项目。...你可以使用相同的任务来构建和测试依赖项目,并且它们可以有不同的构建variants。不同之处在于输出。...在运行测试相关的任务时,这些配置会被使用,并且在添加如JUnit 或Espresso 测试框架时,特别有用。如果你只希望在测试APK 时使用这些框架,那么就不会生产APK。

    2.9K20

    Android中Gradle使用

    为什么用Gradle Ant能打包(构建)apk。----任务执行 Maven管理jar包。...任务执行:每次测试都需要生成apk包进行测试,生成apk包是一个可以重复的流程,也可以称为任务,这个过程就叫做任务执行。Ant相当于把这相同的任务给自动化实现了。....gradle\wrapper\dists 目录 gradle-x.xx-all 的文件夹 Gradle在android中基本使用 Gradle在android中基本使用 1.mobile-stage...例如当构建一个组件时,可能需要先编译、打包、然后再生成文档或者发布 等,这其中的每个步骤都可以定义成一个task。...构建第一个Task 和Ant运行时读取build.xml类似,Gradle运行时默认会读取build.gradle这个文件, 当然你也可以使用参数"-b"来指定其他的xxx.gradle 下面,让我们新建一个

    1.3K30

    Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡

    Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡好的,我们来详细梳理一下 Android 开发中 Gradle 的常用配置和调试命令...第一部分:Gradle 与 Gradle Wrapper (gradlew) 的概念在开始具体命令之前,必须先理解两个关键概念:Gradle: 一个开源的自动化构建工具,用于编译、打包、测试和发布项目。.../gradlew assembleRelease作用:专门组装并生成 Release 版本的 APK/AAB 文件。assemble + Release 变体。为什么要用:准备发布到应用商店时使用。...它会编译代码、运行所有测试(单元测试和仪器化测试)、并生成所有输出包。为什么要用:在提交代码或发布前,进行完整的构建和测试,确保没有破坏任何现有功能。比 assemble 更彻底。..../gradlew clean清理构建输出解决构建问题前“重启”一下./gradlew build完整构建(含测试)提交前或发布前的完整检查.

    53210

    Android Study 之学(kao)习(bei)官方关于64k异常处理 ^_^

    通过ProGuard移除未使用的代码 为版本构建启用代码压缩以运行 ProGuard。启用压缩可确保交付的 APK 不含有未使用的代码。...对于发布定制,将 minSdkVersion 设置为适于您的实际最低支持级别。此设置生成的 Dalvik 可执行文件分包 APK 可兼容更多设备,但构建时间更长。...以下构建配置示例展示了如何在 Gradle 构建文件中设置这些定制: ?...这些设置会使适用于 Gradle 的 Android 插件执行以下操作: 执行 pre-dexing:将每个应用模块和每个依赖项构建为单独的 DEX 文件; 将每个 DEX 文件加入 APK,并且不做任何修改...还可以构建其他变体,包括 prodDebug 变体构建,该变体虽然构建时间更长,但可用于开发以外的测试。在所示配置内,prodRelease 变体将是最终测试和发布版本。

    1.4K10

    【Android Gradle 插件】Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库 | 配置依赖仓库 )

    " 为工程添加依赖仓库 “ 与 ” 为工程构建添加依赖仓库 " 是两个完全不同的概念 ; 这里引入两套概念 : 构建系统 : Gradle 构建过程中需要使用 仓库 和 依赖 , 但是工程中并不依赖这些内容...仓库 和 dependencies 依赖 , 二者都是在构建过程中使用的 仓库 和 依赖 , 工程中没有用到这些内容 , 是 Gradle 构建使用的 ; 如果 不使用 Gradle 构建 , 使用...或者 compile 引入的依赖库 需要进入到 打包 , 编译 流程中 , 这些依赖库 编译完成之后 还需要打包到 Apk 文件中 ; 在 构建过程中使用的依赖库 , 如 “com.android.tools.build...:gradle:4.2.1” , 这是 Google 开发的 Android Gradle Plugin 自定义插件 , 仅在构建过程中使用 , 显然 该依赖库 不需要打包到 Apk 安装包中 , 工程运行并不需要...AGP 插件 ; 使用 classpath 引入依赖库 , 只会将依赖库添加到编译构建过程中 , 不会打包到 Apk 中 ; 四、配置依赖仓库 ---- 在 根目录 build.gradle 顶层构建脚本

    2.2K10

    第九章 Android Gradle高级自定义

    这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险;如何批量修改生成的apk文件名,这样我们就可以修改成我们需要的,从文件名中就可以看到渠道...,比如什么渠道,什么版本,什么时候构建的等等,最后生成的示例apk名字为Example92_google_v1.0_20160229.apk,大家可以运行测试一下,注意buildTime这个我们自定义的返回日期格式的方法...假如有的开发者有时候也需要使用正式发布的签名打正式的包,用于升级测试等目的,也是可以做到的,比如Jenkins,给每个开发者开放一个账号,他们自己新建个Job就可以打正式的包了,打了之后可以在生成的构建里下载...针对以上情况,Android Gradle为我们提供了在构建打包时自动清理掉未使用资源的方法,这个就是Resource Shrinking。...那么我们如何配置使用呢,看下面的示例,如下Gradle配置来启用Resource Shrinking: 当我们开启了shrinkResources后,打包构建的时候,Android Gradle就会自动的处理未使用的资源

    2.1K10

    第七章 Android Gradle插件

    让我们看看Android官方对它的推崇程度: 可以很容易的重用代码和资源 可以很容易的创建应用的衍生版本,所以不管你是创建多个apk,还是不同功能的应用都很方便 可以很容易的配置、扩展以及自定义构建过程...、测试、发布等操作。...release就是一个BuildType,后面章节我们会详细介绍BuildType,例子中我们用到了两个配置 minifyEnabled 是否为该构建类型启用混淆,我们这里是false表示不启用,如果想要启用可以设置为...以前的Eclipse+ADT的工程结构,单元测试是放在tests目录下的,所以在这里对其单元测试目录进行了重新设置,指定我们原来的tests目录为其单元测试根目录。...下几章会从一些现实中的项目使用到的情况来介绍Android Gradle,比如多工程打包,比如发布库工程,比如多渠道打包等等,等这些介绍完之后,相信大家已经非常熟悉和使用Android Gradle了,

    1.4K20
    领券