Android Studioのアップデートなどをしていたら、突然こんなエラーが…。

【メッセージ】
ERROR: Failed to parse XML in /Users/(ファイルの場所)/AndroidManifest.xml
ParseError at [row,col]:[6,12]
Message: expected start or end tag
Affected Modules:
app
【メッセージ翻訳】
エラー:/ Users /(ファイルの場所)/AndroidManifest.xmlにあるXMLの解析に失敗しました  
ParseError at [row、col]:[6,12]  
メッセージ:開始タグまたは終了タグが必要です  
影響を受けるモジュール:アプリ

エラーは、Xcodeの右下に表示されました。

エラーが表示されたのが、
コードをいじっていたときじゃなかった事と、
リンクになっている「appをクリックするとファイル(build.gradle(Module: app))が開くものの、
そこにはエラーになりそうな箇所も見当たらなかったので、
ちょっと困ってしまいました…。

エラーのあるファイル、AndroidManifest.xmlだった!

app」にあたるファイルにエラーがあると思い込んでいたら、
エラーがあったのは「AndroidManifest.xml」でした。

いや、文章をよく読めば、エラーがある場所は「AndroidManifest.xml」って書いてありましたね…。

エラーのある行もわかりやすく書いてありました

そして、エラーがある行は、今回のエラーメッセージの場合は
[row、col]:[6,12]
つまり、
6行目の12文字目?のようでした。
(タブを使ったり、日本語を使ったりしているので、
 12文字目に当たる部分がどこなのかがちょっと微妙でしたが、エラーになっていたのはそのあたりでした)

今回は、コメントの書き方を間違っていた模様…

エラー内容は、
expected start or end tag(開始タグまたは終了タグが必要です)
というものでしたが、
エラーがあるという行に書かれていたのはコメント文でした。

ただのメモ書き部分になぜエラーが発生しているのかなぁ…と思ったら、
コメントの書き方を間違っていました…!

「AndroidManifest.xml」内に、

//ここにコメントを書いていました

という感じで、「//」の後にコメントを書いていたんですが、

「AndroidManifest.xml」内でのコメントの書き方は

<!–ここにコメントを書いていました–>

これが正解のようです…。

//」じゃなく、「<!–」と「–>」を使う感じですね。

むしろ、書き方を間違えていたのに、今までよく動いてくれていたなぁ…!

ちなみに、こちらのショートカットをつかえば、
いちいちコメントの書き方を覚えていなくても、一発変換してくれました。
(参考:コメントアウトの仕方【iOSとAndroidの比較】Xcode、Android Studio

とりあえず、変な文字やスペースが入っていないか確認するのが良さそう

今回はコメントの仕方を間違っていたことが原因でしたが、
エラー内容の
expected start or end tag(開始タグまたは終了タグが必要です)
を見ると、

同じようなエラーが出た時には、
エラーメッセージに書かれているファイル行番号を確認して、
変な文字(今回のような、コメントでもない・コードでもない文字とか)や、
変なスペース(日本語入力でのスペース)とかが入っていないか
確認するのがいいのかなと思いました。

AndroidManifest.xmlだった場合は、Try Againを忘れずに

さて、書き換えたのに、なぜかエラーが消えないな…と思ったんですが、
ファイルを更新するのを忘れていました。

↑こんな感じの、黄色い帯が、AndroidManifest.xmlの上に出ていると思います。

この「Try Again」をクリックすると、変更した箇所が適用されますー。 
ちなみに、文章の意味はこんな感じになります。

Gradle project sync failed. Basic functionality (e.g. editing, debugging) will not work properly.
Try Again
Open ‘Build’ View
Show Log in Finder
Gradleプロジェクトの同期に失敗しました。基本機能(編集、デバッグなど)は正しく機能しません。
再試行する
「ビルド」ビューを開く
Finderでログを見る
スポンサーリンク