Android 使用 activity-alias 时构建失败
Android build fails when using activity-alias
添加 activity 别名后,构建失败:
error: attribute 'android:name' in <activity-alias> tag must be a valid Java class name.
即使 Android 开发人员文档说,该名称也没有引用实际的 class。
android:name
A unique name for the alias. The name should resemble a fully qualified class name. But, unlike the name of the target activity, the alias name is arbitrary; it does not refer to an actual class.
这是我的 activity 声明:
...
<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>
...
这里很清楚,我们可以为别名选择任何唯一名称,但不清楚的是唯一名称应该是有效的 class 名称(即名称不应包含“-”,space, 特殊字符等).
这就是您在构建应用程序时遇到错误 (error: attribute 'android:name' in <activity-alias> tag must be a valid Java class name.
) 的原因。
添加 activity 别名后,构建失败:
error: attribute 'android:name' in <activity-alias> tag must be a valid Java class name.
即使 Android 开发人员文档说,该名称也没有引用实际的 class。
android:name
A unique name for the alias. The name should resemble a fully qualified class name. But, unlike the name of the target activity, the alias name is arbitrary; it does not refer to an actual class.
这是我的 activity 声明:
...
<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>
...
这里很清楚,我们可以为别名选择任何唯一名称,但不清楚的是唯一名称应该是有效的 class 名称(即名称不应包含“-”,space, 特殊字符等).
这就是您在构建应用程序时遇到错误 (error: attribute 'android:name' in <activity-alias> tag must be a valid Java class name.
) 的原因。