読者です 読者をやめる 読者になる 読者になる

虚苦心観察ブログ

ブログ管理者である虚苦心が私利私欲に基づいて書いているブログです。主にガジェットのレビューだったり、画像処理のことだったりを記事にしています。

AndroidStudioでdebug.keystoreを共有する

GitなどのVCSを使って複数のPCで作業しているとDebugで使うdebug.keystoreを共有して使いたいときがあります。
なぜかというと、デフォルトで使用されるdebug.keystoreはPC毎に異なるもののため、PC1でデバッグ後、PC2でデバッグしようとするとインストール時にAndroid端末側でエラーが発生し、PCを変えるごとにアプリをアンインストール・インストールを繰り返さなくてはなるからです。
これは同じアプリの開発者間でAndroid端末を共有している場合にもいえることです。

アプリ内にデータを保存していないものであればアンインストールしても特に問題ありませんが、ほとんどのアプリはデータを保存していると思うのでアンインストールしたくない、という問題は多いと思います。

このような問題はdebug.keystoreを共有することで解決します。
解決策はこちら

What is the equivalent of Eclipse "Custom debug Keystore" in Android studio? - Stack Overflow

アプリとして起動可能なモジュールのgradle.buildを修正します。
修正箇所は以下。

android {
    signingConfigs {
        debug {
            storeFile file("your.keystore")
        }
    }
}

your.keystoreには相対パスも指定可能です。パスの表記は(WindowsPCでも)Unix方式。
たとえば以下のようなプロジェクトのディレクトリ構造だったとしたら(だいぶ省いてます)、

Project
├── build.gradle
├── debug.keystore <-デバッグ用キーストア
├── settings.gradle
└── AppModule
    ├── build
    ├── build.gradle <-開発中アプリのgradle設定ファイル(これを修正)
    └── src

"your.keystore"には"../debug.keystore"と指定することが可能です。
プロジェクトのリポジトリ内にdebug.keystoreを含め、デバッグ用キーストアの位置を相対パスで指定することでどのPCでも設定を変更せずに開発が行えます。