如何解决错误APT2008:<service>标记中的属性'android:name'必须是有效的Java类名称
我有一个使用Xamarin构建的android应用,在重命名解决方案,项目和程序包之前,它可以正常编译,但是现在出现以下编译错误:
error APT2008: attribute 'android:name' in <service> tag must be a valid Java class name.
错误行在debug文件夹中生成的清单中:
<service android:enabled="true" android:name=".ActiviteService" />
<service android:name="com.my-domain.sub.android.activiteservice" android:exported="false" android:directBootAware="true" />
<receiver android:name="crc6426b0443894528d3f.BlockCalls">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
在我的清单上
<application android:label="Link" android:icon="@drawable/logo">
<service android:enabled="true" android:name=".ActiviteService" />
<service android:name="com.my-domain.sub.android.activiteservice" android:exported="false" android:directBootAware="true" />
</application>
以及相应的类:
namespace Sub.Droid
{
[Service (Name = "com.my-domain.sub.android.activiteservice")]
class ActiviteService : Service
{
...
我清理了项目,删除了debug和obj文件夹,重建了,但错误仍然存在。
解决方法
问题在于名称(我的域)中的连字符。删除它会导致编译。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。