かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

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

f:id:name_untitled:20160613191750p:plain

はじめは環境周りかと思い、プロジェクトをコピーして自分のPCでもうごかしてみたが動かず。で、こういう感じのエラーはbuild.gradleが原因で起こるってのを思い出し、確認したら、build.gradle の compileSdkVersion が2になっているのを見つけた。

 

それを直して、動かしてみたら、buildはうまく行った。

がしかし、このアプリ他にも問題があった。それは、デバッグしようとしたときに、アプリが上がってこない。Device Chooserも表示されるが、アプリが表示されない。そういえば、よくよく見ると、この画面おかしい。

f:id:name_untitled:20160613192526p:plain

実行・デバッグ設定を選ぶドロイド君ボタンが×、画面下部のAndroid MonitorにNo Debuggable Applicationsと表示される。これは前にもあった。前回は、Activity名を変えたら、AndroidManifest.xmlが変わらないままだったのが原因だったと思う。今回はそこに特に問題がなかったため、Activityのコードを見てみることにした。

f:id:name_untitled:20160613192907p:plain

はい、確定。パッケージがコピペ元のままだったためエラー。このとき、AndroidManifest.xmlにも赤線が表示されていた。パッケージ名を合わせて問題解決。

 

ビルドでエラーが起きたら、build.gradleをチェック。

起動前にエラーが起きたら、AndroidManifest.xmlをチェック。