java - 非法字符 < :> at index 40: com. 识别.app-mergeDebugResources-33 :/values/values. xml)

标签 java android gradle build.gradle aapt

由于此错误,我无法编译我的应用程序

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).
而且我不知道发生了什么...
build.gradle(模块)
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(项目)
// 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
}
我不知道我应该在这里放什么其他信息。
有可能是因为某个图书馆吗?
我最近添加了 this library (在添加这个库之前构建工作,但我在strings.xml中添加了更多的东西,新的Java类,布局等)但我不知道这是否是它的错,因为在GitHub上的问题中没有人遇到这个问题...... .

最佳答案

我在开发库时遇到了同样的问题,经过几次尝试,我发现这与 attrs 相关。
库项目的 attrs.xml 文件中有一个属性“colorScheme”:

<declare-styleable name="GridColorPicker">
   <attr name="colorScheme" format="string" />
   <attr name="selectorColor" format="color" />
</declare-styleable>
但在生成的\merged.dir\values\values.xml 文件中搜索后,它还有另一个“colorScheme”:
<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"/>
所以我把我的“colorScheme”改成了一个独特的,问题就解决了。
我认为您可以联系图书馆的作者或 fork 图书馆并自己尝试这些步骤。

关于java - 非法字符 < :> at index 40: com. 识别.app-mergeDebugResources-33 :/values/values. xml),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72360620/

相关文章:

java - Android 中的产品 flavor 内部 flavor

java - java8中这个 "groupingBy"里面逗号后面的代码怎么写?

java - 为什么只接受数字作为输入?

android - 如何从Firebase-admin向Android应用程序发送角标(Badge)?

android - 如何禁用音频 Controller 的搜索栏

空对象引用上的 android.support.v4.app.FragmentManager.beginTransaction()'

java - JMeter 未正确解码 base64 - 导致空白 PDF

java - 如何使用 Gradle 访问 Java 项目中的资源?

gradle - 在存储库容器上找不到参数 [] 的方法 jcenter()

java - 如何通过所有项目找到某一类型的任务?