【问题标题】:Error: ':' is not a valid resource name character错误:“:”不是有效的资源名称字符
【发布时间】:2016-05-16 09:40:46
【问题描述】:

我已将我的 eclipse 项目导入到 android studio。我用谷歌搜索但没有得到正确的答案。 发生了这些错误-

D:\***\app\src\main\res\values\strings.xml
Error:Error: ':' is not a valid resource name character
:app:mergeDebugResources FAILED
Error:Execution failed for task ':app:mergeDebugResources'.
> D:\****\app\src\main\res\values\strings.xml: Error: ':' is not a valid resource name character

我的 bulid gradle 应用代码是

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.******.***"
        minSdkVersion 21
        targetSdkVersion 22
        multiDexEnabled true     }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories { mavenCentral() }

dependencies {
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/httpmime-4.1.1.jar')
    compile files('libs/ormlite-android-4.43.jar')
    compile files('libs/ormlite-core-4.43.jar')
}

请解决我的问题。 谢谢

【问题讨论】:

  • 尝试检查您的 strings.xml 文件。
  • 是的 Vivek,我可以阅读并更改特定的符号。仍然发生错误。
  • 当您尝试在没有同步 gradle 的情况下运行项目时,可能会出现这些错误类型。

标签: android-studio r.java-file


【解决方案1】:

错误:':' 不是有效的资源名称字符

表示你有一个类似的资源名称

<string name="not:valid">Foobar</string>

但不允许使用冒号。

试试这个:

  • 打开你的string.xml

  • 键入 Ctrl + F(在 Win/Linux 上)

  • 检查Regex并通过"[A-Za-z_]*:[A-Za-z_]*"搜索

  • 删除冒号,必要时替换为下划线_

  • 编译你的apk

【讨论】:

    【解决方案2】:

    在我的例子中,不幸的是有一些布局使用"@id/android:foo" 形式的 id。将它们变成"@+id/foo" 解决了这个问题。

    升级到 AGP 3.3 时发生这种情况。

    您可以在布局文件夹中搜索正则表达式="@\+[^"]*:[^"]*"

    【讨论】:

    • 是的,升级到 AS 3.3 带来了这个
    【解决方案3】:

    实际上你甚至不能有像 break 这样的名字,因为你会从编译器中得到类似的错误:

    Error: break is not a valid resource name (reserved Java keyword)
    

    【讨论】:

      【解决方案4】:

      编译'com.android.support:design:23.1.1' 我认为您应该在设计后尝试“-”而不是冒号

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-26
        • 1970-01-01
        • 1970-01-01
        • 2012-04-18
        • 1970-01-01
        • 2021-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多