使用Jenkins自動構建Android問題總結

husthxd發表於2016-03-10

使用Jenkins自動構建Android,遇到幾個坑:

1.使用gradle build的時候提示無法從jcenter下載資源

解決方法:安裝Android SDK時,需要選中Extra中的repository

2.jenkins執行build工程時控制檯出現Could not load Logmanager "org.apache.juli.ClassLoaderLogManager"錯誤

解決方法:註釋或刪除$JENKINS_HOME/apache-tomcat/bin/daemon.sh中的以下部分

# Set juli LogManager config file if it is present and an override has not been issued

if [ -z "$LOGGING_CONFIG" ]; then

if [ -r "$CATALINA_BASE/conf/logging.properties" ]; then

LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"

else

# Bugzilla 45585

LOGGING_CONFIG="-Dnop"

fi

fi

test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"

同時在註釋# ----- Execute The Requested Command -----------------------------------------的後續指令碼中,刪掉"$LOGGING_CONFIG"

3.執行$ANDROID_HOME/build-toos/23.0.1/aapt時出現No such file ....錯誤

解決方法:缺少32bit的庫檔案或包,根據提示使用yum install安裝相應的包即可

4.build過程出現Could not create service of type InitScriptHandler using BuildScopeServices.createInitScriptHandler()

解決方法:在build選項中加入--stacktrace,從錯誤提示中發現無法建立$JENKINS_HOME/.gradle目錄,由於jenkins是root使用者安裝,沒有給tomcat使用者授權,使用chown授權給tomcat使用者即可

5.其他許可權不足等情況

解決方法:jenkins使用使用者tomcat執行指令碼,根據提示資訊授權即可


總結

解決問題,需要根據錯誤提示或者日誌輸出定位問題所在,有時候錯誤提示不夠清晰時,可以新增--debug --statcktrace等引數獲取進一步的資訊。

憑經驗,透過猜測,能解決問題那是最好的,不過,對於大多數人或者大多數情況來說,根據日誌,確定問題所在再行處理才是解決問題的正道。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-2055137/,如需轉載,請註明出處,否則將追究法律責任。

相關文章