Jenkins - build .apk file

(1) Jenkins에서 Gradle task를 다음과 같이 작성했다. Gradle의 버전은 6.0.1을 사용했다.

  • clean build
(2) 다음과 같은 에러가 발생했다.

(3) mergeDebugResources task에서 FAILED했다.

  • C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-2\files-2.1\dfb17c32c9e1bced7bb89f3e844a7607\appcompat-1.0.2\res\drawable-xhdpi-v4\abc_ab_share_pack_mtrl_alpha.9.png: AAPT: error: file not found.
저 경로에 png파일이 없어서 문제가 발생한 것으로 보임.버전이 맞지 않아 발생하는 것으로 보인다. Gradle로 apk를 만드는데 png파일이 필요한 것으로 보인다.

(4)Gradle 버전을 낮췄더니 다른 에러가 발생했다. (3.5.1)

  • Commit message: "new file"
     > C:\Program Files\Git\cmd\git.exe rev-list --no-walk 607cf9447f82c1fef0a05c8ba36aa905635c6b09 # timeout=10
    [Gradle] - Launching build.
    [Android_test] $ cmd.exe /C '""C:\Program Files (x86)\Jenkins\tools\hudson.plugins.gradle.GradleInstallation\Gradle_3.5.1\bin\gradle.bat"' clean build && exit %%ERRORLEVEL%%"
    
    FAILURE: Build failed with an exception.
    
    * Where:
    Build file 'C:\Program Files (x86)\Jenkins\workspace\Android_test\build.gradle' line: 5
    
    * What went wrong:
    A problem occurred evaluating root project 'My Application'.
    > Could not find method google() for arguments [] on repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.
(5) version 4.5
  • FAILURE: Build failed with an exception.
    
    * Where:
    Build file 'C:\Program Files (x86)\Jenkins\workspace\Android_test\app\build.gradle' line: 1
    
    * What went wrong:
    A problem occurred evaluating project ':app'.
    > Failed to apply plugin [id 'com.android.application']
       > Minimum supported Gradle version is 5.4.1. Current version is 4.5. If using the gradle wrapper, try editing the distributionUrl in C:\Program Files (x86)\Jenkins\workspace\Android_test\gradle\wrapper\gradle-wrapper.properties to gradle-5.4.1-all.zip
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
    See https://docs.gradle.org/4.5/userguide/command_line_interface.html#sec:command_line_warnings
(6) version 5.4.1로 빌드했지만, 6.0.1 버전과 동일한 에러가 발생했다. 버전에는 이상이 없는 것으로 보인다. 이미 6.0.1이 가장 최신버전이다



  • C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-2\files-2.1\dfb17c32c9e1bced7bb89f3e844a7607\appcompat-1.0.2\res\drawable-xhdpi-v4\abc_ab_share_pack_mtrl_alpha.9.png: AAPT: error: file not found.


  • (7) 너무 어려워서 더 많이 공부해야 하겠다. Jenkins 환경변수에서 gradle경로를 이용해서 png파일을 찾고있다. 내생간엔 안드로이드 환경변수를 이용해야 할것을 잘못사용하고 있다고 예상하고 있다.

    (8) 실제 'drawable-xhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png' 파일이 경로 'C:\MyLocalProjectPath\app\build\intermediates\res\merged\release' 에 저장되어있는 것을 확인했다.

    (9) 깃헙에 올리기 전 로컬 코드에서는 gradlew build 커맨드 성공했는데, jenkins에서 빌드하면 에러가 발생한다. 환경변수의 문제인가 싶어서 PC에서 안드로이드와 자바와 관련된 환경 변수를 jenkins에서 재정의함

    (10) 같은 에러 발생. gradle cache를 삭제해보라는 조언을 들었다.

    gradlew cleanBuildCache clean build --refresh-dependencies

    (11) 같은 에러 발생.




    댓글

    이 블로그의 인기 게시물

    포트란?

    안드로이드 스마트폰 연결