首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Jenkins搭建Android自动打包环境

对于我们开发工程师来说,我们只管写代码,至于怎么打包,测试,我们是不需要过多关注的。而现在比较流行的方案是:使用Jenkins搭建Android自动打包。...选择Git为项目管理工具,并配置相关信息. ? ? Build选项,选择Gradle方式,设置Gradle命令,一般为clean build. ? ? ?...在Task命令中输入: clean build --stacktrace --info Build File选项输入: build.gradle 设置Build后,生成apk的位置;有错误等信息时,发邮件通知...2,在Jenkins中利用Gradle编译项目时,可能会出现以下错误: java.lang.ClassNotFoundException: org.apache.juli.ClassLoaderLogManager...在系统管理->环境变量里面新增一个全局环境变量,在job里面选择gradle版本。 ? ? 6,build.gradle文件路径配置错误,导致失败。

2.6K100

Android Jenkins+Git+Gradle =资深架构师?网友回复:进阶成功

接着滚动到构建Tab,点击添加构建步骤,然后选择Invoke Gradle script,如图: 然后配置构建时的Gradle版本,和需要执行的任务,如图: 这个Tasks是先clean工程,然后打包所有渠道的...3.构建命名 每次构建的时候,Build History模块显示是这样的,如图: 每次构建都只显示数字(#xx),这样很不好看,我们想要它显示更多的信息怎么办呢?...这个错误主要是配置Android SDK路径为ANDROID_HOME环境变量没有配置。Windows上面配置一下环境变量;名字ANDROID_HOME:值为Android SDK路径。...接着滚动到构建Tab,点击添加构建步骤,然后选择Invoke Gradle script,如图: 然后配置构建时的Gradle版本,和需要执行的任务,如图: 这个Tasks是先clean工程,然后打包所有渠道的...这个错误主要是配置Android SDK路径为ANDROID_HOME环境变量没有配置。Windows上面配置一下环境变量;名字ANDROID_HOME:值为Android SDK路径。

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

    JenKins 实战-首次从Git上获取代码并编译打包Android apk

    1.准备工作 我们都知道如果要打包Android 。那么肯定是需要AndroidSDK的。 所以,我们要先配置AndroidSDK 到JenKins之中。...2.3 构建触发器 顾名思义,就是我们可以配置各种脚本或者触发条件。当条件满足的情况下JenKins自动帮我们进行构建项目。 可以减少我们自己手动点击的过程。 构建触发器暂时用不上。...首先:Invoke Gradle scropt 调用Gradle 脚本。android sdk打包,现在都是使用的Gradle脚本进行打包的。...如果我们本地有安装很多Gradle 插件,那么可以在下拉列表中选择。如果没有的话。 就会显示Default。我们在编译后,就会出现Gradle.bat 文件找不到的错误了。...配置方法:示例 全部配置完毕后,我们只要点击构建等待结果即可。 3. 执行构建操作 按照上述操作,配置完毕后。点击右侧这个按钮。 注意:构建页面在你点击之后不会立马有反应。

    1.3K30

    笔记——Gradle入门(十三)

    ——》个人平时笔记,看到的同学欢迎指正错误,文中多处摘录于各大博主精华、书籍 1、在现在的Android开发工具Android Studio中有几个Gradle文件,什么是Gradle,Gradle简单的说就是新一代的自动化构建工具...之前我们使用Eclipse开发时我们可以直接在 Eclipse 上进行编译、运行、签名、打包等一系列流程,而这背后的工作都是 ADT 的功劳,某种意义上 ADT 就是我们的构建工具。...而自 Google 推出 Android Studio 以来,就宣布默认使用 Gradle 来作为构建工具,并且之后放弃更新 ADT ,从此 Gradle 走入 Android 开发者的视野,而且Gradle...compileSdkVersion: 他的环境也只是构建工具的构建环境,也就是编译环境,不代表你app应用运行时的环境,compileSDKVersion是不会被打包到APK文件中的。...例如当使用api(compile)方法添加依赖A时,当A有对外接口改动时,所有(直接或间接)引用依赖了模块A的gradle都会重新编译,这就明显增加了编译时间,而使用了 implementation就很好的解决了这个问题

    69530

    Gradle从入门到了解 - 简书

    一次打包十几个项目不嫌累。 2、面对下载下来的开源项目编译报错有一定处理能力。 3、水群吹牛逼直起腰板。...3、让构建过程变得更加容易配置,扩展和定制。 4、更好的IDE集成。...当初始化构建进程时,gradle会基于build文件,集合所有的Project和Tasks,一个Tasks包含了一系列动作,然后它们将会按照顺序执行,一个动作就是一段被执行的代码,很像Java中的方法。...这里是循环处理每个applicationVariant,当他们的输出文件名以apk结尾并且buildType是release时,重新设置新的输出文件名,这样就达到了我们批量修改生成的文件名的目的。...Gradle对解决传递依赖提供了两种策略,使用最新版本或者直接导致构建失败。默认的策略是使用最新版本。虽然这样的策略能够解决一些问题,但是还是不够。

    1.7K30

    Android -Gradle依赖导入及相关知识

    前言 近期导入了一个项目,因为种种原因始终是失败,各种引入错误,不是这个就是那个,归根到底还是对gradle相关知识不够了解,今天来整理一下。...升级3.x.x变化 Gradle近期变化 android studio版本升级到3.0.0已经有一段时间了,现在使用的是studio 3.1.2.那么。升级到3.x.x之后版本,有啥变化呢?...api 完全等同于compile指令没区别 provided compileOnly 只在编译时有效,不会参与打包 ,可以避免包冲突 apk runtimeOnly 只在生成apk的时候参与打包,编译时不会参与...中添加如下的代码,该代码的意思是:在项目构建时,遍历所有依赖,然后 com.android.support 包下的依赖替换同一个版本。...annotationProcessor作用是编译时生成代码,编译完真的就不需要了,compileOnly是有重复的库,为的是剃除只保留一个库,最终还是需要的。

    1.1K20

    Jenkins的Pipeline脚本在美团餐饮SaaS中的实践

    body: "构建项目:${BUILD_URL}\r\n构建失败,\r\n错误消息:${e.toString()}", subject: '构建结果通知【失败】', to: "${EMAIL}"...当遇上React Native 当项目引入了React Native以后,因为技术栈的原因,React Native的页面是由前端团队开发,但容器和原生组件是Android团队维护,构建流程也发生了一些变化...前端团队开发页面,构建后生成JsBundle,Android团队拿到前端构建的JsBundle,一起打包生成最终的产物。...JsBundle的下载 为了实现构建时能够自动下载,我们写了一个Gradle的插件。...当项目集成了React Native时,配合Pipeline,我们可以把JsBundle的构建产物上传到MSS归档。在构建Native的时候 ,可以动态地下载。

    1.5K20

    ProGuard 在 Android 上的使用姿势

    尽管有很多其他工具供开发者们使用,但是 ProGuard 作为 Android Gradle 构建过程的一部分,已经打包在 SDK 中。 当我们构建应用时,使用 ProGuard 有很多好处。...上面的代码中,我给出了 Android Gradle 打包插件中的默认配置¹,接下去我会在 proguard-rules.pro 中加入其他的配置。...在您读 ProGuard 手册时,您没必要看那些 输入 / 输出的部分,因为这些 Android Gradle 打包插件会替您指定输入源(您和第三方库的代码) 和 Android jar 库(您构建应用时用到的...当一些类和方法会被动态访问到时(如使用反射),在某些情况下,ProGuard 在构建调用图时不能正确的决定他们的「生死」,导致这些代码被错误的移除掉。...不过有个更好的方法,第三方库的维护者们如果发布的库是 AAR ,那么可以指定规则打包在 AAR 中并会在应用构建时自动暴露给构建系统,通过添加下面几行代码到库模块的 build.gradle 文件中:

    2.6K40

    Jenkins 的 Pipeline 脚本在美团餐饮 SaaS 中的实践

    body: "构建项目:${BUILD_URL}\r\n构建失败,\r\n错误消息:${e.toString()}", subject: '构建结果通知【失败】', to: "${EMAIL}"...当遇上React Native 当项目引入了React Native以后,因为技术栈的原因,React Native的页面是由前端团队开发,但容器和原生组件是Android团队维护,构建流程也发生了一些变化...前端团队开发页面,构建后生成JsBundle,Android团队拿到前端构建的JsBundle,一起打包生成最终的产物。...JsBundle的下载 为了实现构建时能够自动下载,我们写了一个Gradle的插件。...当项目集成了React Native时,配合Pipeline,我们可以把JsBundle的构建产物上传到MSS归档。在构建Native的时候 ,可以动态地下载。

    1.2K20

    使用Jenkins发布Android项目

    sdkmanager --list # 安装对应版本的SDK # sdkmanager "platforms;android-29" 如果报一下错误: Error: Could not determine...下载代码 # git clone http://192.168.100.180/app/android/newcrm1.0.git 构建打包 # gradle build & gradle assemble...制作打包的Docker镜像 这一步主要是制作打包Android项目的Docker,由于网络原因,Android工具是手动下载再添加到Docker中。...} } failure { script{ println("failure:只有构建失败才会执行") dingmes.SendDingTalk("构建失败 ❌")...总结 本文的主要目的就是实现使用Jenkins发布Android项目,整体流程比较简单,就是打包Android项目的Docker安装完sdk这些镜像就变的非常大,差不多达到了1G,这就是到目前位置制作的最大的镜像了

    72630

    jenkins+gitlab构建安卓自动编译环境

    22.0.1打包,所以需要另外装 build-tools的版本,方法如下 1、使用android list sdk –all 查看所有可用的更新包,找到 build-tools22.0.1编码为8...5、构建后 (待研究) 这样子就可以开始构建了,点击立即构建,构建完成时显示蓝色就是构建成功,红色就是构建失败了 构建完成后的apk文件通常放在仓库目录的build/outputs目录下...,其实可以用命令在构建完成后拷出去,这个自行脑补吧 五、jenkins加SDK的各种坑 1、构建时提示 Cannot run program "gradle" (in directory "/var/lib...gradle的安装目录么,在新建构建任务的时候,在构建那一步,gradle 版本后面的下拉框要选,指定的版本,不能用默认,请往上翻,注意我画了三个箭头的那张图。...3、Could not init /tmp/hudson1687987969108344361tmp 未安装 git,或在系统设置里未指定git安装路径 4、出现无法连接http 错误 ?

    1.4K50

    Android module发布管理插件

    真正去做这款插件时,才发现艰难。主要是因为 IntelliJ IDEA 插件开发的资料极少,包括如何在插件中获取Android工程信息、如何执行gradle任务等等。 目前完成了一个版本,有待完善。...怎么基于gradle来构建插件工程。-- 接入gradle官方教程 如何写UI。...--Tooling API 如何拿到android项目的详细信息(版本、依赖等等)。--这个费了一番劲 使用 如何编译打包及安装插件请查看项目README。...当编辑版本号后,新的版本号以红色字体展示。点击publish可发布所编辑的版本。...发布结果 发布成功 [发布成功] 发布失败 [发布失败] 日志 [日志] 不管成功或失败,都可以在右下角的 Event Log 查看运行日志。 其他 插件是我们工作的好伙伴,能够实现强大的功能。

    1.8K00

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

    具体的ProGuard配置,可以参照官网压缩代码和资源 Shrinking resources Gradle和Android Plugin在App打包的时候,会把没用的资源都删掉。...当后续的构建启动时,都会使用这个后台进程,因此会节省一些启动的开销。这个进程会在你使用Gradle期间一直存在,而在空闲3个小时后关闭。使用Daemon在短时间内构建是非常有用的。...在Gradle的属性中,名为jvmargs,可以用来为JVM启用设置内存分配的值。这两个参数也会对构建速度有直接的影响:Xms和Xmx。...当提供了这个标志位后,Gradle创建出了一个Profiling Report,可以从这个文件看到那部分的构建消耗了最多的时间。...某些情况下,甚至会打断构建。如果你之前没用Lint,而现在想在Gradle中启用的话,Lint可能会报很多错误。至少能够让构建过程能够正常运转,你可能会让Gradle别处理Lint的错误。

    69710

    Gradle for Android简要指南

    的发布(目前官网最新gradle 为2.2.0), Gradle 也进行了一次非常大的升级,叫Instant Run.它的编译速度网上有人用逆天两个字来形容。...之前可以安装你的应用程序并部署到Android设备,但是,APK必须签名。 3. 该APK打包签署使用Debug或发布密钥库您的APK: a....如果您正在构建您的应用程序,这是一个调试版本,应用程序你打算仅用于测试和分析后,打包签署您的应用程序与调试密钥库。Android Studio中自动配置与调试密钥库的新项目。 b....如果您正在构建您的应用程序,你要在外部释放的发行版中,打包签署您的应用程序一起发布密钥库。要创建一个发布密钥库,了解Android Studio中签署您的应用程序。 4....假设你希望在构建失败时能够在开发阶段尽早得到反馈,给构建生命周期事件添加回调有两种方法:一是通过闭包,二是实现Gradle API的一个监听接口,Gradle并没有要求你监听生命周期事件,这完全决定于你

    82220

    Android 大型工程 App Bundle 模块化实践

    这在模块化开发中同样适用:缓存大量不命中时,并行数剧增、大量消耗 CPU 和内存资源,当资源耗尽时性能急剧降低。...多工程改造为支持动态模块,分包式多 .apk 更能充分发挥并行、缓存的优势,但这更要求企业微信模块化解决计算资源消耗的问题: 计算迁移 增加可计算资源,开发机、构建机分布式编译,充分利用构建机群。...模块依赖冲突 Android App Bundle 会在 base 检查依赖打包是否冲突: ? 通过编译时预检查,避免了运行时加载重复 .dex,确保逻辑一致性。...AndroidManifest 合并错误 Android App Bundle 在打包的时候会把 feature AndroidManifest.xml 文件合并到 base,但是却不会把 AndroidManifest.xml...到此,我们完成了全部业务模块改造为动态模块所需的编译工作。依次解决了依赖冲突、AndroidManifest.xml 合并失败、资源、代码编译失败等问题。

    5K31

    从构建工具看 Android APK 编译打包流程

    今天就和大家一起去探索下Android中编译打包的那些事儿。 粗谈构建流程 对于编译打包过程,Android官网上有一张图做了简单介绍: ?...那在Android Studio中,又是由谁来调度这些工具的呢?Gradle构建工具。...也就是说,在我们点击 generate APK 之后,Gradle就会执行一系列的约定好的 task,每个task有自己的构建工作,按照编译打包的顺序,分别调用具体的工具,最终组织起了整个构建流程。...Gradle Task 在Android Studio中,我们运行一个debug包,Build控制台上就可以看到所有的构建相关task: Starting Gradle Daemon......当注解的生命周期被设置为CLASS的时候,就代表该注解会在编译class文件的时候生效,并且存在与java源文件和Class字节码文件。

    4.1K30
    领券