Help us understand the problem. What is going on with this article?

【AndroidStudio】パッケージ名を変更してみた

More than 1 year has passed since last update.

AndroidStudio で Android アプリのパッケージ名を実際に変更してみた

Android Studio で Android アプリのパッケージ名を変更した。ネット上に情報はあるが、それらと微妙に違ったので備忘録的にメモ。AndroidStudio は Version 2.0。

主に参考にしたのはこちら

パッケージ名 xxx.yyy.zzz を aaa.bbb.ccc にする場合の手順

0. 念のためにプロジェクトをバックアップ

1.AndroidManifest.xmlを編集する

AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="aaa.bbb.ccc">

2.build.gradle に applicationId を追加

 今回のプロジェクトにはなぜか build.gradle に applicationId がなかったので、android -> default Config の中に追加。
(この行は最後に削除したので、追加しなくてもよかったかも...)

build.gradle
android {
    defaultConfig {
        applicationId "aaa.bbb.ccc"   // この行を追加
        minSdkVersion 21
    }
}

3. ディレクトリ名の変更

3.1 パターン1(新しめ?)

 プロジェクトのディレクトリ構造が

[プロジェクト名]\app\src\androidTest\java\xxx\yyy\zzz\
[プロジェクト名]\app\src\main\java\xxx\yyy\zzz\
[プロジェクト名]\app\src\test\java\xxx\yyy\zzz\

となっているところを

[プロジェクト名]\app\src\androidTest\java\aaa\bbb\ccc\
[プロジェクト名]\app\src\main\java\aaa\bbb\ccc\
[プロジェクト名]\app\src\test\java\aaa\bbb\ccc\

に変更

3.2 パターン2(割と古め?)

 プロジェクトのディレクトリ構造が

[プロジェクト名]\src\xxx\yyy\zzz\

となっているところを

[プロジェクト名]\src\aaa\bbb\ccc\

に変更

4. パッケージ名を置換

 java ソース中の pakege * や import * の中の "xxx.yyy.zzz" を "aaa.bbb.ccc" に置換する。Android Studio の [Refactor]->[Rename] を使っても、なぜか zzz が ccc に変わるだけなので、サクラエディター上で [検索]->[Grep置換]と進み Grep置換を起動して

[プロジェクト名]\src\aaa\bbb\ccc\

以下のファイルに対して "xxx.yyy.zzz" を "aaa.bbb.ccc" に置換。このときサクラの Grep置換ダイアログ上の [単語単位で探す(W)] はチェックを外す。

5. Syncする

 AndroidStudio のコードエディターで build.gradle を開くと、上の方に、Sync しろ!と表示されているので Sync を実行。

6. build.gradle から applicationId を削除

 ここで Run すると、Build はできるが、実機で起動しようとするとエラーになった。理由はわからないが applicationId を削除したらうまくいった。
 もともと build.gradle に applicationId がない場合は追加しなくても良いのかもしれない。次の機会に検証しよう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away