“标记< activity>属性名包含无效字符“””android清单

nom7f22z  于 2021-07-09  发布在  Java
关注(0)|答案(6)|浏览(471)

出现错误“标记属性名称包含无效字符“”。”在android清单中,虽然没有明显的无效字符。代码如下:

<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>

如您所见,代码中没有“”字符。有人知道为什么会这样吗?需要注意的是,我使用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++;
    }
mccptt67

mccptt671#

首先,你漏掉了一句转述的话;你确定代码可以编译吗?

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

双引号前缺少斜杠 +Begin .
第二,如果你真的没有漏掉斜杠,但是当你把它粘贴到这里时,它看起来像斜杠,也许是一个奇怪的控制字符把它放到了那一行。
试着删除那行,然后从头开始重新键入。
您还可以在十六进制编辑器中打开清单文件,并验证没有奇怪的不可打印字符混入其中。

wyyhbhjk

wyyhbhjk2#

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

nwo49xxi

nwo49xxi3#

另外 package 也需要用英文字母命名,其他情况androidmanifest给出类似错误。我经历过的

n3ipq98p

n3ipq98p4#

你的 android:name 不包含空格或特殊字符。例如,android名称应该是这样的

<activity  
android:name="com.example.users.projectname.MainActivity">
</activity>
xzlaal3s

xzlaal3s5#

name属性应包含活动类:
android:name the 实现activity的类的名称,activity的子类。属性值应该是完全限定的类名(例如,“com.example.project.extracurcularactivity”)

yqyhoc1h

yqyhoc1h6#

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

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

在这里, MainActivity 是扩展 Activity .

相关问题