【Android】cloneアプリのapplicationIdなどを変更して別アプリとして流用する
Android アプリ開発において、既存プロジェクトやテンプレートプロジェクトを clone して流用したい場面があると思います。
または、適当に applicationId を設定したものの、後から正式なものに変更したい。などの場合もあるあるかと思います。
そんな場合の applicationId や Project 名などを変更する方法についてざっとまとめてみました。
検証環境
- Android Studio Narwhal Feature Drop | 2025.1.2
- 検証前の applicationId は
com.example.test.app
と仮定します。
※ 普段 VSCode を主に使用しています。AndroidStudio の操作や表示に慣れておらず、VSCode を併用した記載となります。
慣れている方は AndroidStudio だけでも問題無いと思います。
やること
0. ディレクトリ表示設定の変更(任意)
添付の通り設定からCompact Middle Packages
のチェックを外す。
チェックを外すことで、VSCode などのエディタで見慣れたディレクトリ構造の表示となります。
※ 見慣れた使いやすい形式で各自設定をお願いします。
チェック有り | チェック無し |
---|---|
![]() |
![]() |
1. applicationId
まずは新しい applicationId
を考えましょう。
applicationId
とは、アプリを識別するための一意の ID です。
ユーザーが直接目にすることは基本は無い設定値とはなりますが、Google Play ストアでアプリを公開する際の重要な設定値となります。
今回は新たに jp.co.sample.newApp
とします。
VSCode でapp/build.gradle.kts
を開いて変更します。
android {
// ===== 省略 =====
defaultConfig {
- applicationId = "com.example.test.app"
+ applicationId = "jp.co.sample.newApp"
// ====== 省略 =====
}
2. namespace
applicationId
の変更に伴い、namespace
の値も変更します。
namespace
についてはドキュメントを見てもややこしいところなので、ざっくりまとめると、
自動生成されるコードを、どこに配置するかを指定する設定値です
この値によって自動生成されるクラスのパッケージ構造(ディレクトリ構造)が決まります。
こちらの設定値も、ユーザーが直接目にすることは基本無い設定値となります。
通常はapplicationId
と同じ値にすることが推奨されています。
新規プロジェクト作成時も同じ値が設定されます。
なので今回も同じ値に変更します。
VSCode でapp/build.gradle.kts
を開いて変更します。
android {
- namespace = "com.example.test.app"
+ namespace = "jp.co.sample.newApp"
// ===== 省略 =====
※ namespace
についての詳細については以下参照ください。
3. rootProject.name
続いてrootProject.name
を変更します。
rootProject.name
とは、開発環境(Android Studio や Gradle)内でプロジェクトを識別するための名前です。
アプリ自体の動作や配布には影響しない内部的な設定値です。(具体的には以下)
- namespace
- applicationId
- app_name
Android Studio のウィンドウ上部に表示されるプロジェクト名にもなります。
必ずapplicationId
と同じ値にする必要はありませんが、たいたい似たような名前にすることが多いかと思います。
VSCode でsettings.gradle.kts
を開き、今回はSampleNewApp
として変更します。
- rootProject.name = "com-example-testApp"
+ rootProject.name = "SampleNewApp"
4. アプリ名(app_name)
Android 端末にインストールされたアプリアイコンの下に表示されるアプリ名を変更します。
res/values/strings.xml
に定義されているapp_name
を変更します。
- <string name="app_name">com-example-testApp</string>
+ <string name="app_name">TestApp</string>
5. 自動生成ファイルなどの削除
このままだと上記の設定値の変更が上手く反映されない可能性が高いので、キャッシュファイルなどの自動生成ファイルを一度削除します。
削除するフォルダは、.idea/
(IDE 設定類)、.gradle/
(キャッシュ類) です。
上記2つのファイルを VSCode 上から削除します。
ここでようやく AndroidStudio を起動します。
※ 赤線のように、ローカルのフォルダ名とrootProject.name
がそれぞれ表示されます。
※ 上記の「.フォルダ類」を消さないとrootProject.name
などが反映されない場合があります。
6. ディレクトリ構造の修正
namespace
にあわせて、アプリのディレクトリ構造を修正します。
こちらの修正は AndroidStudio 上の機能で修正したいと思います。
変更したいフォルダを右クリックで、Rename…
を選択。
All Directories
を選択して適宜命名を変更します。
これで紐づく箇所を自動で変更してくれます。
- | - | - |
---|---|---|
![]() |
![]() |
![]() |
以降、配下のフォルダについても、同様に namespace
にあわせてフォルダ名を変更します。
こちらの対応で、一通りの変更対応は完了です。
before | after |
---|---|
![]() |
![]() |
7. ドキュメントファイルの修正 + 修正漏れチェック
上記の Rename 処理は、.md ファイルなどのドキュメントファイル内の記載は変更してくれません。(import などのひも付きとかは無いので。)
また、同様に他の設定ファイルについても、漏れがないか確認します。
VSCode の検索で、変更前の applicationId や rootProject.name、ディレクトリ構造が記載されている箇所を検索して、必要に応じて修正・置換します。
検索例:
com.example.test.app
com/example/test/app
- etc.
8. ビルド・実行確認
ここまできたら、最後に build して実行してみましょう。
正常に動作すれば完了です。
備考
他記事や過去記事でよく目にする package名
について。
以前は、AndroidManifest.xml
にて手動でpackage
プロパティを指定する必要がありました。
しかし、「AGP(Android Gradle Plugin): 8.0」以降、手動設定が廃止され、ビルド後にapplicationId
が自動でpackage
に設定されるようになったみたいです。
なので、大まかには 「package名
≒ applicationId
」 という認識で良いかと思っています。

NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion