Android Studio 生成错误的清单代码

Android Studio Generates bad manifest code

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

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

产生错误

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

当我删除块并重建时,AndroidStudio 重新生成块并且错误重复出现。 由于这是一个小测试项目,所以这不是一个大问题,但是如果这发生在一个更大的项目中,我不能直接对整个目录进行核对怎么办?

我的问题是,如何或在何处可以调整 Studio 生成的代码块 Android 以解决此类奇怪问题?

a long-standing issue in Android Studio,其中IDE在遇到错误时打开了错误版本的文件。对于清单,Android Studio 倾向于从清单合并过程中打开代码生成的清单,而不是作为错误来源的实际清单文件。结果,粗心的人(或睡眠不足的警惕者)将编辑生成的清单...然后重新生成并取消编辑。

解决方法是当您的更改似乎消失时,再次检查您正在编辑的是哪个文件。睡个好觉有帮助。

::哈欠::

根据这个问题,这应该在 Android Studio 2.3 中得到解决,它正在努力争取在 2017 年初的某个时候在这里发布。