I have a old android project, Now I decided to run it, After migration to androidX and add some upgrade in libraries I got these errors when I am trying to run it:
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mergeDebugResources'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:103)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:249)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:238)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:663)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:597)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.internal.UncheckedException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
Output: /mnt/Media/usb/mobile-android/client14/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:5159: error: <item> inner element must either be a resource reference or empty.
/mnt/Media/usb/mobile-android/client14/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:5163: error: <item> inner element must either be a resource reference or empty.
/mnt/Media/usb/mobile-android/client14/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:5182: error: <item> inner element must either be a resource reference or empty.
/mnt/Media/usb/mobile-android/client14/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:5228: error: <item> inner element must either be a resource reference or empty.
/mnt/Media/usb/mobile-android/client14/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:5229: error: <item> inner element must either be a resource reference or empty.
Command: /home/alt/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-4818971-linux.jar/8ae53ed779dc0eb0d7edfbb9c8e24cf8/aapt2-3.2.0-4818971-linux/aapt2 compile --legacy \
-o \
/mnt/Media/usb/mobile-android/client14/build/intermediates/res/merged/debug \
/mnt/Media/usb/mobile-android/client14/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
This is my gradle:
buildscript {
repositories {
google()
mavenCentral()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
// classpath 'com.guardsquare.dexguard.gradle:dexguard-gradle-plugin:8.0.17'
}
}
apply plugin: 'com.android.application'
allprojects{
repositories{
google()
mavenCentral()
mavenLocal()
maven {
url "https://repo1.maven.org/maven2"
}
maven {
url "https://repo.spring.io/libs-milestone"
}
}
}
android {
compileSdkVersion 29
buildToolsVersion "27.0.3"
signingConfigs {
debug {
storeFile file('pmb-android.keystore')
storePassword 'caspianmbkeystore'
keyAlias 'caspian_mb'
keyPassword 'caspianmbkeystore'
}
release {
storeFile file('pmb-android.keystore')
storePassword 'caspianmbkeystore'
keyAlias 'caspian_mb'
keyPassword 'caspianmbkeystore'
}
}
defaultConfig {
applicationId "com.cas.android"
targetSdkVersion 29
minSdkVersion 19
versionCode 1391
versionName "1.3.9.1"
vectorDrawables.useSupportLibrary = true
signingConfig signingConfigs.debug
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8
targetCompatibility org.gradle.api.JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'scala.*'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties'
}
lintOptions{
checkReleaseBuilds false
abortOnError false
}
}
dependencies {
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.basgeekball:awesome-validation:2.0'
implementation 'com.specyci:residemenu:1.6'
implementation 'org.greenrobot:eventbus:3.0.0'
implementation 'com.google.guava:guava:24.1-jre'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.6'
implementation 'org.springframework.android:spring-android-rest-template:2.0.0.M3'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
implementation 'androidx.mediarouter:mediarouter:1.2.5'
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.gms:play-services:12.0.1'
implementation group: 'joda-time', name: 'joda-time', version: '2.9.9'
implementation group: 'com.ibm.icu', name: 'icu4j', version: '51.1'
}
This is gradle.properies:
android.enableJetifier=true
android.injected.build.model.only.versioned=3
android.useAndroidX=true
What is the problem?
CodePudding user response:
ID resources are not supposed to have text in the XML node, the way that yours do.
My best guess is that the build tools were more forgiving about this back when you worked on this project originally. Now, they are enforcing the rules more.
So, if you remove the text from those failing <id>
elements, you should be in better shape.