Android, 時々Web

Androidアプリを作ったり、Webサービスを作ったりする中で困ったことや詰まったことを解決したときの備忘録です。備忘録なので、正しい答えが書いてあるとは限りません。

Android Studioでパッケージ名を(Company Domainも含めて)変更する

Android Studioでパッケージ名を変更しようと思ったが、たしか結構面倒だった気がしたので、ggっていくつか参考サイトを読んでみた。

 

すると、

【AndroidStudio:もっとお手軽☆パッケージ名変更】build.gradleから簡単に! - Qiita

Androidアプリのパッケージ名を最速で変更 -でじうぃき

https://www.makistone.com/2015/01/28/post-70/

このようにたくさんヒットして、書いてあるからにはそれでうまくいくこともあると思うのだが、app>Java>[パッケージ名]で右クリックして、Refactor->Renameとしても最後の部分(アプリケーション名?)のみしか変更できないようだ。

また、先ほど挙げた参考サイトにもあるように、build.gradle(module)のapplicationIdや、Manifest.xmlのmanifest要素のpackage属性などを変更して、Sync Project with Gradle Fileしてもパッケージ名は自動では変更されなかった。

 

ということで、そのようにあまり自動的にリファクタリングしてくれない場合に、このようにすればとりあえず動いたということをメモ。

 

  1. moduleのbuild.gradleのapplicationIdを変更する。
  2. Manifest.xmlのmanifest要素のpackage属性を変更する
  3. app>javaのパッケージ名を右クリックして、Show in Explorerでエクスプローラでフォルダの位置を開く。
  4. comやexampleなどの(このフォルダ名は変更前のパッケージ名に従っている)フォルダ構成を、変更したいパッケージ名のフォルダ構成になるように削除したり作成したり名前を変更したりする。
  5. app->java->[パッケージ名]の下のjavaファイルにエラーが出るので、それを1つずつ開いて最上部のpackageを変更後のパッケージ名になるように変更する。(赤い波線になっている部分をクリックして、Alt+Enterして自動補完を使っても良い)
  6. おそらくimportしてる部分もエラーが発生していると思うので、そこも直す。
  7. Sync Project with Gradle Fileする。
  8. ビルドが通る!

 

これで何とか動いた。

とはいいつつこんな力技でいいのかは不安が残る。動いたからよし。