Java

Jenkins 與 Android 工作室的集成

  • August 10, 2020

描述:我創建了一個 jenkins 作業,將 jenkins 與 Android Studio 集成以生成工件,

在Android Studio中建構項目時,建構成功..

但是當我通過 jenkins 建構相同的項目時,我收到以下錯誤..!

   Starting a Gradle Daemon (subsequent builds will be faster)

> Task :clean UP-TO-DATE
> Task :app:clean UP-TO-DATE

> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:generateDebugBuildConfig
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:javaPreCompileDebug

> Task :app:generateDebugResValues
> Task :app:generateDebugResources

> Task :app:createDebugCompatibleScreenManifests
> Task :app:extractDeepLinksDebug
> Task :app:processDebugManifest

> Task :app:mergeDebugResources

> Task :app:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
  > Failed to transform navigation-ui-2.3.0.aar (androidx.navigation:navigation-ui:2.3.0) to match attributes {artifactType=android-compiled-dependencies-resources, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
     > Execution failed for AarResourcesCompilerTransform: C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-2\files-2.1\d0f92c0b26fabb47a28488bab3cc8456\navigation-ui-2.3.0.
        > Android resource compilation failed
          AAPT: C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-2\files-2.1\9db20844a7f2758cbc14bea528bced6c\androidx.navigation.ui: error: The system cannot find the file specified. (2).

任何幫助表示讚賞..!

檢查一次配置…

  1. SDK是否正確安裝,環境設置是否完成
  2. Java 路徑在環境變數中設置正確

如果您正確配置了上述內容,您將不會收到錯誤,

即使設置環境後仍然面臨錯誤,然後詹金斯無法處理 app:processDebugResources 任務,

解決方案

通過命令行在jenkins工作空間內的jenkins中手動生成gradle build,

然後在 Jenkins 中執行作業

你肯定會在詹金斯工作中獲得藍色成功球

我解決了這個問題,這是 gradle 記憶體問題。所以我只是在配置系統的環境變數中添加了 gradle 路徑“GRADLE_USER_HOME”,並在全域工具配置中保留了 gradle 設置。通過這個我們告訴 gradle 哪個目錄用於它的記憶體。

引用自:https://serverfault.com/questions/1026538