Сборка Android всегда дает сбой при сборке с использованием Jenkins

Когда я пытаюсь собрать свой проект Android с помощью jenkins, сборка всегда заканчивается неудачей. Но это удается, когда я строю через андроид студию.

Мой код проекта build.gradle приведен ниже

buildscript {
    repositories {
        jcenter()
        google()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.novoda:bintray-release:0.5.0'
        classpath 'me.tatarka:gradle-retrolambda:3.5.0'
        classpath 'com.google.gms:google-services:4.0.1'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
allprojects {
    repositories {
        jcenter()
        maven {
            url "http://dl.bintray.com/schibstedspain/maven"
        }
        maven {
            url 'https://esri.bintray.com/arcgis'
        }
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Уровень модуля build.gradle приведен ниже

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    mavenCentral()
}
android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.example.demoapp"
        versionName "1.0.0.6"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
    }
    flavorDimensions "demoapp"
    productFlavors {
        localdev {
            manifestPlaceholders = [
                    appIcon: "@mipmap/ic_launcher_local_dev"
            ]
        }
        dev {
            manifestPlaceholders = [
                    appIcon: "@mipmap/ic_launcher_dev"
            ]
        }
    }
    buildTypes {
        release {
            debuggable false
            minifyEnabled false
            shrinkResources false
            jniDebuggable false
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    // Android Support libraries
    def supportVersion = '28.0.0'
    implementation "com.android.support:appcompat-v7:$supportVersion"
    implementation "com.android.support:design:$supportVersion"
    implementation 'com.android.support:multidex:1.0.3'
    implementation "com.android.support:cardview-v7:$supportVersion"
    implementation "com.android.support:support-v4:$supportVersion"
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation "com.android.support:support-vector-drawable:$supportVersion"
    implementation "com.android.support:mediarouter-v7:$supportVersion"

    // ArcGIS
    def arcGISVersion = '100.3.0'
    implementation "com.esri.arcgisruntime:arcgis-android:$arcGISVersion"

    // Square libraries
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.okhttp3:okhttp:3.3.1'
    implementation 'com.squareup.retrofit2:retrofit:2.1.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
    implementation 'com.squareup.retrofit2:converter-jackson:2.0.0'
    implementation 'io.reactivex:rxandroid:1.2.1'

    // Google lilbraries
    implementation 'com.google.code.gson:gson:2.8.0'
    implementation 'com.google.android.gms:play-services:11.6.0'
    implementation 'com.google.android.gms:play-services-base:11.6.0'

    // Fabric
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
        transitive = true
    }
    implementation 'commons-io:commons-io:2.0.1'
    implementation 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'
    implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    testImplementation 'junit:junit:4.12'
    //Circular imageView hdodenhof
    implementation 'de.hdodenhof:circleimageview:2.2.0'
}
apply plugin: 'com.google.gms.google-services'

Следующее - журнал, который я получаю.

FAILURE: сборка не удалась, исключение.

  • Что пошло не так: выполнение задачи не выполнено:app:mergeDevDebugResources.

    java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: сбой при компиляции ресурса Android Вывод: C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\38d0f08e978f9054bdf191f5dc7a9836\res\drawable-xhdpi-v4\abc_text_select_handle_middle_mtrl_light.png: ошибка: файл не найден.

    Команда: C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\d0f8b1c9646d3205e347ca7495d045a1\aapt2-3.2.1-4818971-windows\aapt2.exe компиляция --no-crunch \ --legacy \ -o \ D:\workspace\technician\app\build\ промежуточные \res\merged\dev\debug \ C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\38d0f08e978f9054bdf191f5dc7a9836\res\drawable-xhdpi-v4\abc_text_select_handle_middle_mtrl_light.png Daemon: AAPT2.1aemon2: aeta2.1aemon2: aeta2.1aemon2: файл-2.1-файл

  • Попробуйте: Запустите с параметром --info или --debug, чтобы получить больше вывода журнала. Запустите с --scan, чтобы получить полное представление.

  • Исключение: org.gradle.api.tasks.TaskExecutionException: не удалось выполнить задачу ':app:mergeDevDebugResources'. в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:103) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute:gra.gra..api.internal..tasks.execution..ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59) в org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:ingra..as.i.asg.ing.ing.ing).ing. At. ecution. выполнить (ResolveTaskArtifactStateTaskExecuter.java:62) по адресу org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59) в org.graternal.kip Java:54) в org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) в org.gradle.api.internal.tasks.execution.CatchExceptionTavaTaskExter в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256) в org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) в org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328exj.jpg.Exo.OUEOUIN) по адресу org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) по адресу org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecut.ktg.grag.kg) $EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:238) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123.ExecTecasPlayer.ExecTecas.Ex_Ex_Play_Ex_Ex_Play_Ex_Play_Ex_Play_Play_Player_set_set_set.dll) Java:79) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98) в org.gradle.execution.taskgraph.Defava.Plan.dll) в org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:597) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTurst.grag). org ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) в org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) в org.gradle.internal.concurrentImpl:55) Вызвано: org.gradle.internal.UncheckedException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: сбой при компиляции ресурса Android Выход: C: \ Windows \ System32 \ c onfig \ systemprofile.gradle \ caches \ transforms-1 \ files-1.1 \ appcompat-v7-27.1.1.aar \ 38d0f08e978f9054bdf191f5dc7a9836 \ res \ drawable-xhdpi-v4 \ abc_text_select_handle_middle_mtrl_light: файл: ошибка: файл не найден.

Команда: C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\d0f8b1c9646d3205e347ca7495d045a1\aapt2-3.2.1-4818971-windows\aapt2.exe компиляция --no-crunch \ --legacy \ -o \ D:\workspace\technician\app\build\ промежуточные \res\merged\dev\debug \ C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\38d0f08e978f9054bdf191f5dc7a9836\res\drawable-xhdpi-v4\abc_text_select_handle_middle_mtrl_light.png Daemon: AAPT2.1-aeta 2 aeta 2 aeta-2.1a.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:63) в org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:40) в org.gradle.internal.reflect.JavaMethod.76d (Java)) в org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50) в org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) в org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecukunter 1.r.:124) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWavaExgraj.jpg). Exe.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) в org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) в org.gradle.api.internal.TexTececute ExecuteActionsTaskExecuter.java:113) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:95) ... еще 31 причина: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: сбой при компиляции ресурса Android Вывод: C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\38d0f08e978f9054bdf191f5dc7a9836\res\drawable-xhdpi-v4\abc_text_select_handle_middle_mtrl_light.png: ошибка: файл не найден.

Команда: C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\d0f8b1c9646d3205e347ca7495d045a1\aapt2-3.2.1-4818971-windows\aapt2.exe компиляция --no-crunch \ --legacy \ -o \ D:\workspace\technician\app\build\ промежуточные \res\merged\dev\debug \ C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\38d0f08e978f9054bdf191f5dc7a9836\res\drawable-xhdpi-v4\abc_text_select_handle_middle_mtrl_light.png Daemon: AAPT2.1 - 2-я версия: 182-я версия.android.ide.common.workers.ExecutorServiceAdapter.close(ExecutorServiceAdapter.kt:56) в com.android.build.gradle.internal.aapt.WorkerExecutorResourceCompilationService.close(WorkerExecutorResourceCompilationSerild.andbu.roid 67):.tasks.MergeResources.doFullTaskAction(MergeResources.java:324) в com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:106) в org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) ... еще 41 Причина: com.android.builder.internal.aapt.v2.Aapt2Exception: сбой при компиляции ресурса Android Выход: C: \ Windows \ System32 \ config \ systemprofile. gradle \ caches \ transforms-1 \ files-1.1 \ appcompat-v7-27.1.1.aar \ 38d0f08e978f9054bdf191f5dc7a9836 \ res \ drawable-xhdpi-v4 \ abc_text_select_handle_middle_mtrl_light.png: ошибка: файл не найден.

Команда: C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\d0f8b1c9646d3205e347ca7495d045a1\aapt2-3.2.1-4818971-windows\aapt2.exe компиляция --no-crunch \ --legacy \ -o \ D:\workspace\technician\app\build\ промежуточные \res\merged\dev\debug \ C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\38d0f08e978f9054bdf191f5dc7a9836\res\drawable-xhdpi-v4\abc_text_select_handle_middle_mtrl_light.png Daemon: AAPT2.1 - 2-я версия: 182-я версия.android.builder.internal.aapt.v2.Aapt2DaemonImpl.doCompile(Aapt2DaemonImpl.kt:142) в com.android.builder.internal.aapt.v2.Aapt2Daemon.compile(Aapt2Daemon.kt:81) в com.android.builder.internal.aapt.v2.Aapt2DaemonManager$LeasedAaptDaemon.compile(Aapt2DaemonManager.kt:170) по адресу com.android.build.gradle.internal.res.Aapt2CompileWithBlameRunnable$run$1.invoke.lagableBone.build.gradle.internal.res.Aapt2CompileWithBlameRunnable$run$1.invoke(Aapt2CompileWithBlameRunnable.kt:28) по адресу com.android.build.gradle.internal.res.namespaced.Aapt2DaemonManagerService.useAaptDaemon(Aapt2DaemonMternal.ingra.in.namespaced. $ представить $ представления $ 1.Run(ExecutorServiceAdapter.kt:39)

СТРОИТЬ НЕ СДЕЛАНО в 18-х годах 18 выполнимых задач: 16 выполненных, 2 актуальных

Сканирование сборки не было опубликовано из-за проблемы конфигурации.

Условия обслуживания Gradle не согласованы.

Чтобы принять Условия предоставления услуг Gradle, включите в конфигурацию вашего корневого проекта следующее: buildScan {TermsOfServiceUrl = ' https://gradle.com/terms-of-service'; termOfServiceAgree = 'yes' }

Для получения дополнительной информации, пожалуйста, смотрите https://gradle.com/scans/help/plugin-terms-of-service.

В качестве альтернативы, если вы используете Gradle Enterprise, укажите местоположение сервера. Для получения дополнительной информации, пожалуйста, смотрите https://gradle.com/scans/help/plugin-enterprise-config.

Шаг сборки 'Invoke Gradle script' изменил результат сборки на FAILURE Шаг сборки 'Invoke Gradle script' пометил сборку как сбой Завершено: FAILURE

1 ответ

Решение

Кажется, некоторые файлы не найдены при сборке с использованием jenkins. Это может произойти из-за пользователя, под которым работает служба Jenkins. Вы можете попробовать изменить пользователя для службы jenkins, выполнив следующие действия:

  1. Откройте окно Администрирование> Службы на вашем сервере Windows.
  2. Остановите службу Дженкинс.
  3. Откройте диалоговое окно "Свойства"> "Вход в систему".
  4. Измените учетную запись пользователя службы на целевую учетную запись пользователя.
  5. Запустите сервис Дженкинс.
Другие вопросы по тегам