みなさん、一度作ったプロジェクトのパッケージ名を途中で変えたくなったことはありますか?
私はパッケージ名についての意識が低い頃に作ったプロジェクトの中に sample
などと入っていたので、今回はこれを変更してみました!
(注: ストアで公開済のアプリに対しては変更できません)
その際の手順をメモしておきます。
1. Android Studio の機能を使って Rename
まず、中間層のパッケージ名が .
で省略されているのを展開します。
Android プロジェクトからの設定歯車から設定を変更できます。
次に、ファイル名を変更するときのように、パッケージの階層をクリック > Refactor > Rename と続けます。
すると次のようなポップアップが現れますが、自分は In Whole Project
を選択しました。
最後に Refactor を押して名前変更終了です。
(Preview があった場合、左下の『Do Refactor』を押す必要があります。)
io.com.sample.hoge
の .
で繋がれた4つとも全て変更したい場合、各々リファクタするしかなさそうでした。
また、テストフォルダも変更されてました!
2. フォルダを削除
フォルダ名を変更した場合前の名称でディレクトリが残ったままになってると思うので、VSCode や Finder などから、フォルダの残骸を削除します。
テストの方も忘れず削除しましょう。
3. .idea, .gradle を削除
2 まで終わっても Android Studio には反映されないケースがあります。
そんな時は .idea
と .gradle
フォルダを削除して Android Studio を開き直します。
4. ビルド
ここまでで取り残しはないと思っていたのですが、実際にはなかなかビルドがうまくいきませんでした。。。
(ビルドしかけてみておかしくなっているところの修正を地道に行いました)
- R のインポートができない
- 『Build->Clean Project』をやってみる
- BuildConfig の前になんか変な prefix ついちゃった
- git で以前のバージョンに戻す
- import から R とか色々消えた!
- git で以前のバージョンに戻して再度置換
5. 確認
また、念の為以下を確認しました。
- 元のパッケージ名で検索してヒットしないこと
- 正常にビルドできてインストールできること
- 単体テストが全て通ること
おわりに
やっぱり思い切って開発するには、Git 管理と単体テストが大事になることを痛感しました。
Android においてパッケージ名は、アプリを唯一に特定する大事な値であるため、思いを込めて慎重に決めていきたいですね!