使用activity-alias时,Android构建失败

Mat*_* Ke 1 android android-manifest android-activity

添加活动别名后,构建失败并显示:

error: attribute 'android:name' in <activity-alias> tag must be a valid Java class name.
Run Code Online (Sandbox Code Playgroud)

即使Android开发者文档说,该名称也没有引用实际的类.

安卓:名称

别名的唯一名称.该名称应类似于完全限定的类名.但是,与目标活动的名称不同,别名是任意的; 它不是指实际的课程.

这是我的活动声明:

...

<activity android:name=".MainActivity" />

<activity-alias
    android:name="MainActivity-2"
    android:targetActivity=".MainActivity"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity-alias>

...
Run Code Online (Sandbox Code Playgroud)

Man*_*ish 6

这里很清楚,我们可以为别名选择任何唯一的名称,但不清楚的是唯一名称应该是有效的类名(即名称不应包含" - ",空格,特殊字符等).

这就是为什么error: attribute 'android:name' in <activity-alias> tag must be a valid Java class name.在构建应用程序时获得错误()的原因.

  • 谢谢!连字符是问题所在。现在,构建可以正常运行了。 (2认同)