&#34;标记<activity>属性名称包含无效字符&#39; &#39 ;. &#34; Android Manifest </activity>

时间:2014-03-11 18:13:47

标签: java android manifest

我收到错误&#34;标记属性名称包含无效字符&#39; &#39 ;. &#34;在Android Manifest中,虽然没有明显无效的字符。这是代码:

<activity
        android:name="Quiz 31"
        android:configChanges="orientation|keyboardHidden"
        android:label="Quiz 31"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar" >
        <intent-filter>
            <action android:name="com.SoulSlayerAbad.AMQ.QUIZ31" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

正如你所看到的,没有&#39; &#39;代码中的字符。有谁知道为什么会这样?需要注意的一点是,我使用Eclipse控制台内部运行的几行Java生成了这段代码。代码是:

        int Begin = 0, End = 0; 
    Scanner sc = new Scanner(System.in);

    String Text = " <activity "+
            "android:name=\"Quiz "+Begin+"\" "+
            "android:configChanges=\"orientation|keyboardHidden\" "+
            "android:label=\"Quiz "+Begin+"\" "+
            "android:screenOrientation=\"portrait\" "+
            "android:theme=\"@android:style/Theme.NoTitleBar\" > "+
            "<intent-filter> "+
                "<action android:name=\"com.SoulSlayerAbad.AMQ.QUIZ"+Begin+"\" /> "+

                "<category android:name=\"android.intent.category.DEFAULT\" /> "+
            "</intent-filter> "+
        "</activity> ";

    System.out.println("Begining:");
    Begin = sc.nextInt();
    System.out.println("End At:");
    End = sc.nextInt();
    while(Begin <= End){
        System.out.println(Text);
        Begin++;
    }

6 个答案:

答案 0 :(得分:8)

android:name应该引用代表活动的类路径。它不得包含任何特殊字符或空格。

例如:

android:name="com.json.test.MainActivity"

此处,MainActivity是扩展Activity

的类文件

答案 1 :(得分:1)

您的姓名属性应包含您的活动类:

  

机器人:名称       实现活动的类的名称,Activity的子类。属性值应该是完全限定的类名   (例如,&#34; com.example.project.ExtracurricularActivity&#34;)

答案 2 :(得分:1)

android:name不能包含空格,它是类的名称。

答案 3 :(得分:0)

对于初学者来说,你错过了一个逃脱的报价;你确定代码编译好吗?

"<action android:name=\"com.SoulSlayerAbad.AMQ.QUIZ"+Begin+"\" /> "+

+Begin之前的双引号之前删除了缺失。

其次,如果你实际上没有缺少斜线,但是当你将它粘贴在这里时,它看起来就像它,也许是一个奇怪的控制角色使它成为那条线。

尝试删除该行并从头开始重新输入。

您还可以在十六进制编辑器中打开清单文件,并确认没有混入奇怪的不可打印字符。

答案 4 :(得分:0)

您的Vue.filter('currencyDisplay', { read: function (val) { return '$' + val.toFixed(2) }, write: function (val, oldVal) { var number = +val.replace(/[^\d.]/g, '') return isNaN(number) ? 0 : number } }) 不包含空格或特殊字符。例如,android名称应该是这样的

android:name

答案 5 :(得分:0)

另外package还需要以英文字母命名,其他案例AndroidManifest也会出现类似的错误。我经历过