Android R.java在Numeric(媒体)文件名上出错

时间:2012-09-07 05:53:11

标签: android naming-conventions

我想在项目中使用大量的声音字节。不幸的是,所有文件都以数字命名,如“001.m3,002.mp3 ....”

当我在raw文件夹中添加文件时,Android R file会出错。

我该如何解决这个问题。任何人都可以为我提供链接,其中android提到了资源文件的命名约定

2 个答案:

答案 0 :(得分:2)

您遇到的问题是由于您的文件名,因为您的文件名是001.mp3或002.mp3。 Android会自动创建R.java文件,并在该文件(R.java)中,它将通过该文件名创建一个变量名为“001”的变量。拥有数字变量名称是错误的。它不会允许这样的事情而是抛出错误。

如果您的文件是001.mp3,则R.java将在此行中出错

令牌“001”上的语法错误,无效的VariableDeclaratorId

public static final int 001=0x7f050000;

我请求您更改文件名。可以遵循建议Are there conventions on how to name resources?

答案 1 :(得分:2)

每个资源都在R.java文件中有条目,如果你看到R.java文件就像我们的普通类一样

public final class R {
    public static final class raw {
        public static final int 001=0x7f090005; // this will not accept as a variable name
    }

    public static final class drawable {
    }

    public static final class id {
        public static final int main=0x7f090001;
    }
}

您应遵循与变量相同的命名约定,即

1)不得以数字

开头

2)除(_

外,不得包含特殊字符

3)不得使用提及here

的保留关键字

解决方案:您必须重命名文件,就是这样。