1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Error: Activity class [Activity名 ] does not exist.解決法

Posted at

#実機ビルドでエラー発生!

とにかく早くこのエラーを解決したい方の為にまず試して欲しいキーワードを書いておきますので、それをコピペしてググってみてください。簡単に試せる方法からご紹介します。

1.GoogolePlayStoreのPlayプロテクトを外す
2.Clean ProjectをしてAndroidStudioを再起動する
3.adb uninstall [パッケージ名] というコマンドを試す

以下は私のエラー遭遇振り返りです。

バグ修正を反映させるため、実機にあったアプリをアンインストールしていざデバッグ起動しようとしたら突然の拒絶。

Error: Activity class [Activity名 ] does not exist.

え…?Activityあるよ…?え…?(パニック)

色々と試しましたが最終的に解決に至った方法は…

GoogolePlayStoreのPlayプロテクトを外す

信じられないくらい簡単な解決法。

これでもう安心かと思いきや、また同じエラーに遭遇。

GoogolePlayStoreのPlayプロテクトは外されているのに何故だ…!と、思いましたが、最初にたくさん解決方法を検索して試していたおかげで思い当たることがありました。
それは、アンインストールしたアプリが実はまだ完全に消去できていないという可能性。
adbコマンドを使用してアプリを完全に消去してから再びインストールしてみると、ちゃんと実機ビルドに成功しました。

% adb uninstall [パッケージ名]

adbコマンドを使うためにはパスを通す必要がありますので、設定した記憶がない人はググってみてください。
(ご自身が使っているターミナルがbashかzshかは気をつけてくださいね。私がまだよく分かっていなかった時は、サイトのコマンドをそのままコピペして使っていたので、bash使っているのにzshにパス通してたりしてましたから…)

さて、adbコマンドとは…?という人のために少しだけ解説します。

#adb(Android Debug Bridge)

android開発で実機(orエミュレータ)を使って動作を確認する時、PCから実機(orエミュレータ)を動かせるようにするコマンドラインツールです。つまり、PCとデバイスを繋いでくれる橋渡しの役割を担っているのがadbコマンドというわけですね。
ほとんど使わないような気もしますが、今回のように実機上のどこかにキャッシュが残っていたりしてどうにもいかない場合などには便利です。
先ほどのように、デバイス上のアプリをPCからadbコマンドを送ってアンインストールしたりすることができます。
詳しくはAndroidDevelopersにありますのでこちらをご覧ください。

#おわりに
このエラーが発生する前にも何度かインストールとアンインストールをしていたのに、急に実機ビルドできなくなって驚きました。しかもGoogolePlayStoreのPlayプロテクトを外していない状態で操作できていたので、何故急にadbコマンドを使用しないとアンインストールできなくなったのかは謎です。
しかし、今回のことをきっかけにadbコマンドを知ることができたので勉強になりました。
この記事が誰かのお役に立てることを願います。

この記事の内容に関してミスがあった場合か、私の知識がアップデートされた場合には加筆・修正を行います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?