web-dev-qa-db-ja.com

署名済みキーストアを使用するようにEclipseを構成する

私はついにアプリ用の「最終」キーストアを作成しました。私のアプリはGoogleマップを使用しているため、すべてのレイアウトを更新して、アプリから生成される新しいAPIキーも使用する必要があります。

今、私はリリースのために署名されたAPKをエクスポートする要件を完全に認識していますが、その後はどうなりますか?私の考えは、さらなる開発とテストのために、デバッグキーストアの代わりに最終的なキーストアを使用するようにEclipseを構成できれば最も簡単だと思います...しかし、私はそれを行う方法を見つけませんでしたか? 「代替」デバッグキーを設定することしかできませんが、それは同じではないと思います。

ここで何かを完全に誤解している場合、私があまりにも混乱している場合は申し訳ありません。

49
richey

Google Playリリースキーストアをカスタムデバッグキーストアとして使用して、アプリ内購入機能のデバッグに役立てることができました。同じことがGoogleマップのデバッグにも当てはまることは間違いありません。

Devunwired前述 のように、警告があります。しかし、私の解決策はこれでした:

  1. リリースキーをどこかにコピーします。
  2. こちらの手順 に従ってキーストアのパスワード/キーのパスワードとキーのエイリアスを変更します(また、デバッグキーストアのように見せるためにDevunwiredの推奨事項に従います)。
  3. Eclipseの設定を変更しますAndroid>ビルド>カスタムキーストア設定を手順1で作成したコピーのパスに変更します。
  4. できた!
61
pilcrowpipe

環境設定-> Android-> Buildに移動してファイルを入力することで、Eclipseでデバッグビルド(実行...をクリックすると発生するもの)に使用するカスタムキーストアを構成できます。 「カスタムデバッグキーストア」オプションの名前。

ただし、主に次の従来のデバッグキーストアと同じルールに従う必要があるという警告があります。

  1. キーストアのパスワードは「Android」でなければなりません
  2. 「androiddebugkey」という名前のキーが含まれている必要があります
  3. そのキーのパスワードは「Android」でなければなりません

したがって、エクスポートするのと同じキーストアを使用してデバッグでアプリに署名することは可能ですが、実稼働キーストアがデバッグストアのように見える必要があります。パスワードを調べて推測します)。

HTH

70
Devunwired

Eclipseがデプロイ時に自動的に署名するようにするには、デバッグキーストアのように動作するキーストアを設定する必要があります。つまり、「androiddebugkey」が必要であり、キーとキーストアのパスワードは両方とも「Android」でなければなりません。したがって、次のことをお勧めします。

  1. キーストアのコピーを作成し、私はiap.keystoreというファイルにコピーしました
  2. パス上のkeytoolでターミナル/コマンドウィンドウを開きます(私にとっては、パスはD:\ NVPACK\jdk1.6.0_45\bin\keytool.exeです)か、以下のコマンドでkeystoreへのフルパスを使用します
  3. キーストアのパスワードを「Android」に変更します:
    • keytool -storepasswd -keystore iap.keystore
    • プロンプトに従って、古いキーストアのパスワードを入力します
    • プロンプトに従って、Androidを新しいパスワードとして入力します
    • プロンプトに従って、Androidをパスワードとして確認します
  4. キーの名前をandroiddebugkeyに変更します(次のコマンドでOld_Key_Store_Nameを現在のキー名に置き換えます)
    • keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
    • プロンプトに従ってキーストアのパスワードを入力します(現在はandoridです)
    • プロンプトに従ってOld_Key_Store_Nameパスワードを入力します(これは以前にキーパスワードを設定したものです)
  5. androiddebugkey のパスワードを変更します
    • keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
    • プロンプトに従ってキーストアのパスワードを入力します(現在はandoridです)
    • プロンプトに従ってandroiddebugkeyパスワードを入力します(これは以前にキーパスワードを設定したものです)
    • プロンプトに従って、Androidを新しいキーパスワードとして入力します
    • プロンプトに従って、Androidをキーパスワードとして確認します
  6. これで、EclipseがBuilderに自動的に署名するために使用できるキーストア(キー付き)ができました。
  7. Eclipseをロードします。
  8. ウィンドウ->設定-> Android-> Build
  9. 「カスタムデバッグキーストア」に従って、前に作成したiap.keystoreファイルを参照します。
  10. OK

これで、プロジェクトを起動/デバッグするときに、プロジェクトに署名するためにセットアップしたキーストアが使用されます。これにより、IAPなどが機能します。

BEWARE:これは便利ですが、もちろん誰かがあなたのiap.keystoreを手に入れた場合、「Android」をキーストア/キーパスワードとして使用することで、あなたと同じように署名できます。これが上記の手順から明らかになることを願っていますが、ご自身(または御社)にとってこれが何を意味するかを少し理解してください。次に、それに基づいて、リスクが許容できるかどうか、およびこのファイルの安全性を確保するために追加の対策を実行する必要があるかどうかを判断します。

4
Steven Craft

デバッグビルドに使用するカスタムキーストアを設定します。 Eclipse [設定]-> Android-> [カスタムデバッグキーストア]でファイル名をビルドして入力します。

Eclipseカスタム用のキーストアを作成する際に重要です。

キーストアのパスワードは「Android」である必要があり、「androiddebugkey」という名前のキーが含まれている必要があります。そのキーのパスワードは「Android」である必要があります。キーストアはデバッグストアのように見えます。これにより、ファイルが誰かに手に入られた場合の安全性が低下します(パスワードの検査と推測が容易になります)。

キーストアのパスワードを変更する場合:$ keytool -storepasswd -keystore my.keystore

キーストアのエイリアスパスワードを変更する場合:$ keytool -keypasswd -keystore my.keystore -alias my_name

キーストアエイリアスを変更する場合:$ keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name

Vkj enter image description here

3
Vinod Joshi

しばらく前に、私たちのオフィスで同じ問題を抱えています。これが非常に頻繁に必要だったので、リリースキーストアをデバッグキーストアに簡単に変換できるようにする簡単なスクリプトを作成しました。

スクリプトは https://github.com/IntellexApps/key2debug で入手できます。

現在しばらく使用しているため、非常に安定しています。

乾杯!

0
Sabo

デバッグキーストアの通常のキーストアを変換する手順があります。 https://stackoverflow.com/a/15754187/917362

0
Alex R. R.

Google Developers Console(console.developers.google.com)を使用して、同じGoogle APIキーに対してデバッグとリリースSHA1の両方を入力できます。

この方法では、両方に同じAPIキーがあり、AndroidManifest.xmlで変更する必要はありません。

0
Tiberius