windows安裝jenkins進行自動化打包
一、準備工作
1、下載Android SDK(要下載成最新的sdk,因為舊版的sdk有一些主鍵不支援)
2、下載JDK版本(根據電腦的系統下載相應的版本x86 是32位的,x64是 64位的)
3、下載gradle版本(可以和開發商量看需要的gradle版本)
4、下載git
5、下載tomcat版本
6、下載jenkins.war 可以將war包放在tomcat的webapps下面(或者直接下載安裝包安裝jenkins)
1》Android SDK不需要安裝,下載下來解壓放入任意的檔案中好了(看自己喜好了);
環境變量了:
1、在環境變數使用者變數選擇新建一個ANDROID_HOME的變數名,變數值填寫SDK解壓後的檔案路徑
2、在系統變數中找到Path進行編輯,在Path後面加上SDK路徑:;%ANDROID_HOME%\platform-tools;(注意分號需要是英文下的);配置好 後在cmd中打adb不報錯就說明配置成功。
2》JDK下載後雙擊安裝,一直點選下一步直到安裝完。
環境變量了:
1、在環境變數使用者變數選擇新建一個JAVA_HOME的變數名,變數值填寫JDK安裝檔案路徑
2、在系統變數中找到Path進行編輯,在Path後面加上SDK路徑:;%JAVA_HOME%\bin;(注意分號需要是英文下的);配置好 後在cmd中打JAVA不報錯就說明配置成功。
3》gradle下載解壓就好
4》下載git安裝後配置環境變數
5》tomcat下載後雙擊安裝,一直下一步就好
6》jenkins下載後雙擊安裝,安裝完後,找到安裝路徑下的war檔案,把war檔案中的所有檔案拷貝到Tomcat下的webapps檔案中新建立資料夾Jenkins中
配置到這個時候就可以使用了,開啟Tomcat(在Tomcat中bin檔案下的startup.bat開啟,stutdown.bat關閉),在到瀏覽器中輸入
二、jenkins 配置
1、將相關的變數配置在自己的下載安裝的路徑
2、新建一個自由風格的軟體專案
3、配置相關引數
4、直接構建即可成功
三、問題
問題1:
16:55:06.183 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
16:55:06.185 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter ] FAILURE: Build failed with an exception.
16:55:06.186 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
16:55:06.187 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
16:55:06.187 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at https://docs.gradle .org/3.3/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Error: Could not create the Java Virtual Machine.
16:55:06.189 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Error: A fatal exception has occurred. Program will exit.
16:55:06.189 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
16:55:06.190 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Invalid maximum heap size: -Xmx10248m
16:55:06.190 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] The specified size exceeds the maximum representable size.
16:55:06.191 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
16:55:06.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
16:55:06.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
16:55:06.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.GradleException: Unable to start the daemon process.
錯誤原因:
在開始編譯的時候
解決方案:
在 C:\Users\songll.gradle 中建立一個gradle.properties gradle的全域性配置 中增加一行:
org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=256m
問題2:
12:35:36.546 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED
12:35:36.546 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_111\bin\java.exe'' finished with exit value 1 (state: FAILED)
12:35:36.551 [ERROR] [org.gradle.api.Project] Error: Could not create the Java Virtual Machine.
12:35:36.551 [ERROR] [org.gradle.api.Project] Error: A fatal exception has occurred. Program will exit.
12:35:36.551 [ERROR] [org.gradle.api.Project] Invalid maximum heap size: -Xmx4g
12:35:36.551 [ERROR] [org.gradle.api.Project] The specified size exceeds the maximum representable size.
12:35:36.556 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Completing Build operation 'Execute task action 5/5 for :app:transformClassesWithDexForShenzhouyingRelease'
錯誤原因:
Gradle 構建塊 基本模組project、task、property。
Project介面描述 代表一個正在構建的元件,如jar檔案,或者一個目標,如部署應用程式。構建程序啟動後Gradle基於build.gradle配置例項化Project類
由上述可以看出是gradle在完成task時出錯了
Invalid maximum heap size: -Xmx4g 需要4g的記憶體才能建立JVM 自身電腦記憶體不足
解決方案:
開發將其改成了2g
問題3:
雖然構建成功了,但是沒有打出包來,列印的日誌中顯示
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to D:\soft\android-sdk_r23.0.2-windows\android-sdk-windows\ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
錯誤原因:
沒有NDK ,在sdk中沒有下載NDK的地方,因為我之前下載的一個sdk版本比較老不支援這個元件
Android NDK 是一套允許您使用原生程式碼語言(例如 C 和 C++)實現部分應用的工具集。在開發某些型別應用時,這有助於您重複使用以這些語言編寫的程式碼庫。
解決方案:
重新找了我電腦上原來裝的android studio 中找到sdk重新指向然後下載了ndk,這個問題就解決了
問題4、
錯誤原因:
This error is because of the new feature of build-cache. It is using the default build-cache folder which is a long path.
解決方案
You can disable build-cache by adding android.enableBuildCache=false to you gradle.properties or set the build-cache path.
問題5:
ERROR: Timeout after 10 minutes
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from http://gitlab.szy.net/szy-android/ztjy-android-parent.git
錯誤原因:
git的配置有問題
解決方案:
重新安裝一個git即可