15

I can't compile my app because of this error

com.android.aaptcompiler.ResourceCompilationException:
Resource compilation failed
(Failed to compile values resource file C:\Users\hesam\AndroidStudioProjects\RecognizeProject\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values\values.xml. 
Cause: java.nio.file.InvalidPathException: Illegal char <:> at index 40: com.recognize.app-mergeDebugResources-33:/values/values.xml).

and I don't know what's going on...

build.gradle (module)

plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics'
    id 'com.google.firebase.firebase-perf'
}

android {
    compileSdk 32

    defaultConfig {
        applicationId "com.recognize"
        minSdk 21
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation platform('com.google.firebase:firebase-bom:30.0.1')
    implementation 'com.google.firebase:firebase-auth'
    implementation 'com.google.firebase:firebase-database'
    implementation 'com.google.firebase:firebase-storage'
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-perf'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.6.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'io.github.yanndroid:oneui:2.4.0'
    implementation 'com.mikhaellopez:circularimageview:4.3.0'
    implementation 'com.github.bumptech.glide:glide:4.13.0'
    implementation 'io.github.chaosleung:pinview:1.4.4'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

build.gradle (project)

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.google.gms:google-services:4.3.10'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
        classpath 'com.google.firebase:perf-plugin:1.4.1'
    }
}

plugins {
    id 'com.android.application' version '7.2.0' apply false
    id 'com.android.library' version '7.2.0' apply false
}

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

I don't know what other information I should put here. Is it possible that it's because of some library?

I recently added this library (build works before adding this lib but i was adding more stuff like strings to strings.xml, new Java classes, Layouts etc.) but I don't know if it's its fault because in Issues on GitHub nobody had this problem....

thewolf1119
  • 141
  • 1
  • 12

3 Answers3

10

I'm facing the same problem while developing a library, after several tries I found this related to the attrs. There is a property "colorScheme" in the attrs.xml file of the library project:

<declare-styleable name="GridColorPicker">
   <attr name="colorScheme" format="string" />
   <attr name="selectorColor" format="color" />
</declare-styleable>

But after search in the generated \merged.dir\values\values.xml file, it has another "colorScheme" in it:

<enum name="standard" value="0"/>
<enum name="wide" value="1"/>
<enum name="icon_only" value="2"/>
</attr>
<attr format="reference" name="colorScheme">
<enum name="dark" value="0"/>
<enum name="light" value="1"/>
<enum name="auto" value="2"/>

So I changed my "colorScheme" to a unique one the problem was solved.

I think you can contact the library's author or fork the library and try these steps yourself.

panshen
  • 111
  • 6
1

My attrs.xml file was

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="state_error"  />   <======HERE WAS THE PROBLEM
    <declare-styleable name="ValueEditor">
       <attr name="nameShown" format="string"/>
       <... other definitions />
    </declare-styleable>
</resources>

the attr with name state_error was causing the problem. Must have been there from some copy-paste source code because when I removed it the problem disappeared.

The problem occurred with every implementation 'com.google.android.material:material:1.6.0-alpha02' bigger than that

0

I had this when i named an attribute 'font':

<declare-styleable name="Scale">
    <attr name="name" />
    <attr name="colour" />
    <attr name="direction" format="string" />
    <attr name="font" format="string" /> // **AARGH!
    <attr name="fontSize" format="float" />
    <attr name="every" format="float" />
    <attr name="radius" format="float" />
</declare-styleable>

Renaming it to fontName fixed it:

<attr name="fontName" format="string" /> // Nice
smirkingman
  • 6,167
  • 4
  • 34
  • 47