開発環境
Android Studio 3.2 Beta 5
Build #AI-181.5281.24.32.4913314, built on July 26, 2018
JRE: 1.8.0_152-release-1136-b04 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.12.6
現象
コード書いてビルドしたら見慣れぬエラーに遭遇
Process 'command '/Users/ikemura/Library/Android/sdk/build-tools/27.0.3/aapt'' finished with non-zero exit value 1
なんだこれは、、、原因が分からん!
詳細なログも出てこない!
Build > Clean Project してもダメ
File > Invalidate Caches / Restart してもダメ
エラー検索方法
Android StudioのTerminalを開いて以下を実行
./gradlew assembleDebug --info
するとズラズラとログが出てくる
BUILD FAILED
と表示されて完了したっぽいのでログを遡って眺めると...
info_card.xml:23: error: Error parsing XML: duplicate attribute
info_card.xml
が原因っぽい
info_card.xmlを見てみると
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
>
<data>
</data>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:app
タグが2つもある...
xmlns:tools
を補完機能から追加した時に、なぜかxmlns:app
が自動で再度追加されたようだ。
そういうことだったのか
2番目のxmlns:app
を消してエラーは解決できたが、このエラーはビルドログに出てこないんだな。
結論
xmlのエラーは厄介なので気をつけよう
ログを見て分からないエラーに困ったら
./gradlew assembleDebug --info
を実行しよう