Android Error:Cause: failed to find target with hash string 'android-2'が表示される。 エラーなさそうなのにデバッグできない。
学生がAndroidがエラーになったと持ってきたコードだが、始めは何が原因かピンと来ていなかった。
Error:Cause: failed to find target with hash string 'android-2' in: C:\Users\userName\AppData\Local\Android\sdk1
はじめは環境周りかと思い、プロジェクトをコピーして自分のPCでもうごかしてみたが動かず。で、こういう感じのエラーはbuild.gradleが原因で起こるってのを思い出し、確認したら、build.gradle の compileSdkVersion が2になっているのを見つけた。
それを直して、動かしてみたら、buildはうまく行った。
がしかし、このアプリ他にも問題があった。それは、デバッグしようとしたときに、アプリが上がってこない。Device Chooserも表示されるが、アプリが表示されない。そういえば、よくよく見ると、この画面おかしい。
実行・デバッグ設定を選ぶドロイド君ボタンが×、画面下部のAndroid MonitorにNo Debuggable Applicationsと表示される。これは前にもあった。前回は、Activity名を変えたら、AndroidManifest.xmlが変わらないままだったのが原因だったと思う。今回はそこに特に問題がなかったため、Activityのコードを見てみることにした。
はい、確定。パッケージがコピペ元のままだったためエラー。このとき、AndroidManifest.xmlにも赤線が表示されていた。パッケージ名を合わせて問題解決。
ビルドでエラーが起きたら、build.gradleをチェック。
起動前にエラーが起きたら、AndroidManifest.xmlをチェック。