エラー内容
オリジナルのAndroidStudioプロジェクト一式を、まるまるフォルダごとコピーして実行すると、何かよくわからないエラーに。
「java.lang.ClassNotFoundException: Didn’t find class ~」とか。
Didn’t find class?
そのクラス、ちゃんとあるのですけれどもね・・・。
クリーンして、リビルドしても変わらず。そもそも何のエラーなのかよくわからないですね。
まぁ、なんか前の固定パスの情報が残っているんだろうなとは思うのですが、むやみにやたらファイル削除する勇気は無く、これもまた久しぶりに手を付けたときに、いつも同じところでハマったりしてしまいます・・・。
という事で、忘れていても大丈夫な簡単な解決策を紹介したいと思います。
症状
AndroidStudioプロジェクトを、これから大きな変更があるとき、バックアップは残しておきたいなーと思い、フォルダごとコピーして、写真のようにstep1フォルダstep2フォルダみたいに分けて編集したいとします。
写真では、「layouttest」プロジェクトをまるまるフォルダコピーして、フォルダ名は「step2」としました。
つぎに「step2」フォルダ下のプロジェクトを開いて、スマホとPCを接続して、再生ボタンを押すとアプリが起動しません。
前述のエラーで起動できなかったようです。
おかしいなと思い、「step1」フォルダ下のプロジェクトを開いて、スマホとPCを接続して、再生ボタンを押すと問題なくアプリが起動します。
おかしいなと思い、「step2」フォルダ下のプロジェクトを開いて、スマホとPCを接続して、再生ボタンを押すとアプリが起動せず。
おかしいなと思い、「step1」フォルダ下の・・・(何回か繰り返す^^;)
クリーンして、リビルドしても変わらず。
対策
結論から、何かのファイルやフォルダを消せばいいんですが、いちいち覚えてられません^^;
そこで、特に覚えなくても簡単にフォルダごとコピーできる方法があるので紹介したいと思います。
それは、zipファイルへのエクスポートを実施します。
ファイルメニューの「Export to Zip File..」を選択して、zipファイルを出力します。
出力先はどこでも。以下ではstep1フォルダの上に出力した例になります。
つぎに、step2フォルダ下にzipファイルを解凍します。
以下、手順の例になります。
解凍したプロジェクトをを開いて、スマホとPCを接続して、再生ボタンを押すと
あら、問題なくアプリが起動しました。
で、結局何のファイルを削除すればいいんでしたっけ。まぁ覚えなくてもいいか。
ちなみに例として挙げていたlayouttestは、以下で記載したものになります。
最後まで見てくれてありがとう。