出现错误“标记属性名称包含无效字符“”。”在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++;
}
6条答案
按热度按时间mccptt671#
首先,你漏掉了一句转述的话;你确定代码可以编译吗?
双引号前缺少斜杠
+Begin
.第二,如果你真的没有漏掉斜杠,但是当你把它粘贴到这里时,它看起来像斜杠,也许是一个奇怪的控制字符把它放到了那一行。
试着删除那行,然后从头开始重新键入。
您还可以在十六进制编辑器中打开清单文件,并验证没有奇怪的不可打印字符混入其中。
wyyhbhjk2#
android:name
不能包含空格,它是类的名称。nwo49xxi3#
另外
package
也需要用英文字母命名,其他情况androidmanifest给出类似错误。我经历过的n3ipq98p4#
你的
android:name
不包含空格或特殊字符。例如,android名称应该是这样的xzlaal3s5#
name属性应包含活动类:
android:name the 实现activity的类的名称,activity的子类。属性值应该是完全限定的类名(例如,“com.example.project.extracurcularactivity”)
yqyhoc1h6#
android:name
应该有表示活动的类路径的引用。它不能包含任何特殊字符或空格。例如:
在这里,
MainActivity
是扩展Activity
.