いま、TwoSpinnersという、スピナーを2つ使ったAPIテスト用のプロジェクトを作っている。
実際に使うとしたら、これを別名でコピーして、Package名なんかも変更することだろう。
AndroidStudio 2.1.1(Windows10)でやってみる。
まず、コピー元のプロジェクトで、以下を削除しておく。
- .gradle
- build
- app/build
.gradleは移動した後の方がよいのかな?
buildたちは、ファイルがたくさん入っているので、邪魔なだけだ。
あと、このあとで全検索するので、不要なファイルがあると邪魔なのだ。
別の場所にコピーして、フォルダ名を変更する。
ついでに、直下にあるxxx.imlファイルを削除する。
リネームしてしまえばよいのだろうが、.gitignoreにimlファイルが入っているので、きっと自動生成してくれるはず。
あと、忘れやすいけど、バージョン管理しているのなら管理ファイル(Gitなら.git)も削除しておこう。
隠し属性になっていて気付きにくいけどね。
フォルダ以下を、変更前の名前で全文検索する。
今回であれば「TwoSpinners」だ。
検索対象は「*.*」。全部だ。
今のところ、私の環境ではこれらのファイルが引っかかった。
- .idea/.name
- .idea/modules.xml
- .idea/workspace.xml
- app/app.iml
- app/src/main/res/values/strings.xml
問題が無さそうであれば、新しい名前で置換していく。
app.imlは、同じルールで行けば自動生成してくれるはずだが、もう検索できてしまったので変更することにした。
さあ、Android Studioで開いてみよう!
・・・Unsupported Modules Detectedというエラーが出てきた。
が、Syncが終わるまで待っても、それ自体はエラーにならなかった。
プロジェクトを閉じて開き直すと表示されなかったので、たぶんimlファイルを削除していたせいじゃないだろうか。
あとは、Package名の変更。
名前だけならよいのだが、フォルダ階層の変更も発生するので、Refactor>Renameでは対応できなさそうだ。
ネットで検索すると、Refactor>Moveがよいらしい。
やってみると・・・、なるほど、これは「移動」だ。
フォルダがなければ作成してくれるし、参照しているPackage名なんかもRefactorするか確認してくれて、変更もするようなのだが、移動なのだ。
たとえば、今回だと「com.blogpost.hiro99ma.twospinners」というPackage名で、移動先を「jp.blogpost.hirokuma」とすると、全体としては「jp.blogpost.hirokuma.twospinners」というPackage名になる。
つまり、twospinnersを「jp.blogpost.hirokuma」に移動したのだ。
よって、一番最後のNamespace名(でよいのかな?)を変更したいのであれば、さらにRefactor>Renameをするとよいだろう。
ツールに全部任せるのは心配な気もするのだが、私くらいのAndroid/Javaスキルだったらツールでやってもらった方が間違いが少ないだろう。
いつかは「そんなのツールでやるより自分でやった方が安心だよ」と言えるくらいまでなりたいものだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。