美文网首页
Jenkins for Android离线使用的那些坑

Jenkins for Android离线使用的那些坑

作者: Devin_Lin | 来源:发表于2020-04-09 15:49 被阅读0次

之前使用Jenkins一般都是在外网上使用,问题一般都不是很大,但这次内容的却是另一番滋味,因此总结了所遇到的一些问题!

一、离线安装Jenkins插件

对于Jenkins插件外网使用时直接下载更新即可,但内网使用却是麻烦的多。
1.下载插件包(http://updates.jenkins-ci.org/download/plugins/
),本地上传(系统管理–管理插件–高级–上传插件),这种方式较为麻烦,离线包之间依赖较多,需不断的上传验证。

2.外网电脑安装Jenkins并安装所需要的插件(系统管理–管理插件–可选插件–勾选安装),拷贝所有插件到内网电脑上对应的目录,重启Jenkins。这也是这次我所使用的方法,感觉比下载离线包再上传安装方便的多。



对于Jenkins重启,我这里是直接通过重启Jenkins服务。


二、构建失败

1.mergeDebugResources FAILED


解决方法:
(1)添加系统变量GRADLE_USER_HOME;

(2)Jenkins项目gradle配置时勾选Force GRADLE_USER_HOME to use workspace

2.lint FAILED

解决方法:提示已很明显,在每个Module的build.gradle文件中配置。

lintOptions {
        abortOnError false
}

3.mockableAndroidJar FAILED

这里出现的原因主要是修改了android.jar包里面的内容所导致的,解决方法:在项目最外层build.gradle文件中设置

allprojects {
    gradle.taskGraph.whenReady {
        tasks.each {task ->
            if(task.name == 'mockableAndroidJar'){
                task.enabled = false
            }
        }
    }
}

4.Failed to notify project evaluation listener


我这里出现原因是部分module指定了jdk版本,部分没有,所以解决方法即在每个module中均指定jdk版本。
compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
}
三、指定Module编译

当项目中存在多个module(多个应用)时,指定module进行构建(在项目配置gradle内设置)。


总结:这里只是对这次设置过程中遇到的一些坑做一个简单记录,还有其他一些关键点可以自行查询尝试(如:参数化构建、邮件发送、权限管理等)。

相关文章

网友评论

      本文标题:Jenkins for Android离线使用的那些坑

      本文链接:https://www.haomeiwen.com/subject/ponqmhtx.html