Open1

開発用テンプレートがあったら便利という夢を見た

るるすたるるすた

最初に結果をお伝えします

開発用テンプレ計画は、計画倒れになりました。
新規プロジェクトのパッケージ名を変更する部分が、
やばいぐらいうまくいかないのです。

それでもチャレンジしてみたい方は、以下記事を参考にしてください👋
一応成功してはいます。
↓↓↓

テンプレファイル作成

まずは新規プロジェクトを作って、テンプレファイルを作成。
こだわりたいのはテーマなので、以下3ファイルを自分用に差し替える。

  • Color.kt
  • Theme.kt
  • Type.kt

リソースファイルもdimens.xmlはだいたい同じ内容になるので、
基本部分のみ作ってしまう。
Type.ktで標準フォント以外を設定した場合は、フォントファイルが必要になるので、
用意する。

MainActivityを変更

MainActivityから呼び出されるコードが、デフォルトだとGreetingになっているけど、
ここを自分用に変更する。
私の場合、ほぼ以下のような構成で書いています。

なので、MainActivity.ktを一旦以下のように書き換えてしまいます。

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            RurustaTheme {
                RurustaApp()
            }
        }
    }
}

@Composable
fun RurustaApp() {

}

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    RurustaTheme {
        RurustaApp()
    }
}

Gradleファイルの変更

ナビゲーションとマテリアルアイコンは使うので、これらの依存関係を追加します。

libs.versions.toml

[versions]
material3 = "1.3.2"
materialIconsExtended = "1.7.8"
navigation-compose = "2.9.1"
navigationTesting = "2.9.1"

[libraries]
ndroidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "materialIconsExtended" }
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation-compose" }
androidx-navigation-testing = { module = "androidx.navigation:navigation-testing", version.ref = "navigationTesting" }
ui-tooling = { module = "androidx.compose.ui:ui-tooling" }

build.gradle.kts(Module:app)

dependencies {
    //ナビゲーション
    implementation(libs.androidx.navigation.compose)            //navigation
    androidTestImplementation(libs.androidx.navigation.testing)   //navigationTest
    //M3関係
    implementation(libs.androidx.material.icons.extended)   //アイコンを使用する場合
    debugImplementation(libs.ui.tooling)    //プレビュー用

忘れてはいけないSync Now!!!!

AndroidStudio側のGitの設定

ターミナルに以下コマンドを入力。

git init

こんな感じで、空のリポジトリが作成されます。

リポジトリにファイルを追加していきます。

git add .

gitに追加されたファイルは緑色になります。

コミットします。

 git commit -m "最初のコミット20250712"

コミットするとファイルの色が白色になります。

この先はGitHub CLIがPCに入っていることが条件

次にGitHubにリポジトリを作り、そのままpushします。
コマンドは以下の通り。

gh repo template --public --source=. --remote=origin --push

成功した場合は、以下のように表示されます。

GitHubで確認

GitHubにリポジトリができているか、コミットしたファイルが存在しているか、など
確認します。

ここまでやって、、、別にGithubで管理しなくてもいいのでは?と
思ったのは私だけじゃないはず。

GitHubのtemplateリポジトリから新アプリを作成

cdコマンドで新アプリを作りたいフォルダの位置まで移動します。
GitHubのtemplateをクローンします。
例えば、現在のフォルダがここであれば、この中にリポジトリがコピーされます。

git clone https://github.com/GigHubのID/template.git TidyUpApps

ここで指定したTidyUpAppsはローカル側で作成するフォルダの名前です。

成功した場合は、以下のようなメッセージが表示されます。

クローンされたフォルダ

AndroidStudioからプロジェクトを開き、settings.gradle.ktsを開きます。

rootProject.nameを以下のように変更。

rootProject.name = "Tidy Up Apps"

ここからは、自分の手でやるのが危険かなと判断したので、GeminiCLIの出番。
ターミナルからgeminiを呼び出します!

gemini

プロンプトに以下メッセージを入力

> パッケージ名をdityupappsに変更したい


なんか優しい@@;
geminiはクールすぎてちょっとなーと思ってたのに、性格変わったのかしら。。。
そして、以下変更の一覧を出してくれました。

とりま1つずつYes,allow once!します。
めちゃめちゃ苦労していたようですが、無事ビルドしたようです。
Geminiさんお疲れ様です。

うん。やめよう。

Geminiですらビルドに失敗しまくって、苦労の末にビルド成功しました。
私がすんなりできるはずがないよね。
おとなしく新規プロジェクト作って、おとなしくテーマ移植します;w;
移植のためのファイルはあるから、それだけでもよしとしよう。