Android Studio生成错误的清单代码

时间:2017-01-10 16:42:44

标签: android android-manifest android-studio-2.2

我正在创建一个简单的测试项目,让我可以使用AlarmManager管理服务。我以某种方式设法在我的+.java文件夹中创建名为service的新广播接收器,所以现在Android Studio在AndroidManifest中生成了这个无效的代码块:

<receiver
        android:name=".service.+"
        android:enabled="true"
        android:exported="true" />

哪会产生错误

Error:(32) Tag <receiver> attribute name has invalid character '+'.

当我删除块并重建时,Android Studio会重新生成块并重复出现错误。 由于这是一个次要的测试项目,这不是一个大问题,但是如果这发生在一个更大的项目中,我不能只是核对整个目录呢?

我的问题是,我如何或在哪里可以调整Android Studio生成的代码块以解决像这样的奇怪问题?

1 个答案:

答案 0 :(得分:3)

a long-standing issue in Android Studio,IDE在遇到错误时会打开错误的文件版本。在清单的情况下,Android Studio倾向于从清单合并过程中打开代码生成的清单,而不是作为错误源的实际清单文件。结果,不警惕(或者对睡眠不足的警惕)将编辑生成的清单......然后再生成清单并吹走编辑。

解决方法是在您的更改似乎消失时仔细检查您正在编辑的文件。一个美好的夜晚有助于睡眠。

<子> ::打哈欠::

根据这个问题,这应该在Android Studio 2.3中修复,Android Studio 2.3将在2017年初的某个时间用于发货。