Jenkins for Android離線使用的那些坑

之前使用Jenkins一般都是在外網(wǎng)上使用,問題一般都不是很大,但這次內(nèi)容的卻是另一番滋味,因此總結(jié)了所遇到的一些問題!

一、離線安裝Jenkins插件

對于Jenkins插件外網(wǎng)使用時直接下載更新即可,但內(nèi)網(wǎng)使用卻是麻煩的多。
1.下載插件包(http://updates.jenkins-ci.org/download/plugins/
),本地上傳(系統(tǒng)管理–管理插件–高級–上傳插件),這種方式較為麻煩,離線包之間依賴較多,需不斷的上傳驗證。

2.外網(wǎng)電腦安裝Jenkins并安裝所需要的插件(系統(tǒng)管理–管理插件–可選插件–勾選安裝),拷貝所有插件到內(nèi)網(wǎng)電腦上對應的目錄,重啟Jenkins。這也是這次我所使用的方法,感覺比下載離線包再上傳安裝方便的多。



對于Jenkins重啟,我這里是直接通過重啟Jenkins服務。


二、構建失敗

1.mergeDebugResources FAILED


解決方法:
(1)添加系統(tǒng)變量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

這里出現(xiàn)的原因主要是修改了android.jar包里面的內(nèi)容所導致的,解決方法:在項目最外層build.gradle文件中設置

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

4.Failed to notify project evaluation listener


我這里出現(xiàn)原因是部分module指定了jdk版本,部分沒有,所以解決方法即在每個module中均指定jdk版本。

compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
}
三、指定Module編譯

當項目中存在多個module(多個應用)時,指定module進行構建(在項目配置gradle內(nèi)設置)。


總結(jié):這里只是對這次設置過程中遇到的一些坑做一個簡單記錄,還有其他一些關鍵點可以自行查詢嘗試(如:參數(shù)化構建、郵件發(fā)送、權限管理等)。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容