キーストアを作成するにはどうすればよいですか?


538

Android用のキーストアを作成する手順は何ですか?

アプリでGoogleマップを使用する必要があり、どのステップを逃したのかわかりません。具体的な詳細な手順を教えてください(ガイドではわかりませんでした)。


あなたはすでに何かをしましたか、それとも始めるための推奨事項を探していますか?
2010

2
これらは私が行った次の手順です:1-インストールeclipse 2-install jdk 3-install sdk 4-install androidプラグイン。私はコマンドをwin cmdで実行することができませんでした:$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000(これは秘密鍵を生成します)。ありがとう
user482762

@ user482762:CommonsWareの回答はあなたにとってうまくいきましたか?なぜwin cmdを実行できなかったのですか?
2010年

CommonsWareの回答が機能しません。cmdでコマンドを実行しようとすると、「$が内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません」というエラーメッセージが表示されます。あなたの助けに感謝
user482762

ああ!$を実際に入力する必要はありません。Windowsでは、コマンドライン(cmdアプリケーション)を使用すると、入力プロンプトは通常、「c:\」のようにDRIVE:/ DIRECTORY>のようになります。UNIXでは、プロンプトは「$」または単に「>」のように見えることがよくあります。コマンドの「$」は、コマンドの一部ではなく、入力プロンプトを表すためのものです。$なしで、すべての引数を指定してkeytoolを実行してみます。
攻撃

回答:


545

タイトルの質問に回答するには、任意の標準JDKディストリビューションに付属し、にあるJava Keytoolユーティリティを使用してキーストアを作成します%JAVA_HOME%\bin。Windowsでは、これは通常ですC:\Program Files\Java\jre7\bin

Windowsでは、コマンドウィンドウを開き、そのディレクトリに切り替えて、次のようなコマンドを入力します。

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytoolは、キーストアのパスワードを提供し、識別名フィールドを提供し、次にキーのパスワードを提供するように要求します。次に、現在のディレクトリにmy-release-key.keystoreというファイルとしてキーストアを生成します。キーストアとキーは、入力したパスワードによって保護されます。キーストアには、10000日間有効な単一のキーが含まれています。エイリアスは、アプリケーションに署名するときにこのキーストアを参照するために後で使用する名前です。

:キーツールの詳細については、次のドキュメントを参照してくださいhttp://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

Androidアプリへの署名の詳細については、http//developer.android.com/tools/publishing/app-signing.htmlをご覧ください。


6
個人的にデフォルトの1024ではなく-keysize 2048を定義することについての良い叫び私は現在4096を使用しています
scottyab

9
詳細については、私の場合、管理者権限で
Intuitisoft

E / TokenRequestor:OAuth2関連の設定が間違っています。確認してください。詳細なエラー:UNREGISTERED_ON_API_CONSOLE APIコンソールにSHA1を入力して認証情報を作成しました。
Rohan Taneja 2017

手動発電ストア上のドキュメントへの直接リンク:developer.android.com/studio/publish/...
methodsignature

2つのパスワードを設定するこのコマンドを使用して、いくつかのプロンプトをスキップしますkeytool -genkey -v -keystore debug.keystore -storepass android -alias android -keypass android -keyalg RSA -keysize 2048 -validity 10000。そして、あなたがFirebaseに配置する必要があるとSHA-1を生成するために:keytool -list -v -keystore debug.keystore -alias android -storepass android -keypass android
アルバート・ビラ・カルボ

158

Android Studioでアプリに署名する

Android Studioでリリースモードでアプリに署名するには、次の手順に従います。

1-メニューバーで、[ビルド]> [署名済みAPKの生成]をクリックします。


2-署名付きAPKの生成ウィザードウィンドウで、[新規作成]をクリックして新しいキーストアを作成します。すでにキーストアがある場合は、手順4に進みます。


3- [新しいキーストア]ウィンドウで、図に示すように必要な情報を入力します。キーは少なくとも25年間有効であるため、アプリの有効期間を通じて同じキーでアプリの更新に署名できます。

ここに画像の説明を入力してください

4- [署名済みAPKウィザードの生成]ウィンドウで、キーストアと秘密鍵を選択し、両方のパスワードを入力します。次に「次へ」をクリックします。ここに画像の説明を入力してください

5-次のウィンドウで、署名済みAPKの宛先を選択し、[完了]をクリックします。 ここに画像の説明を入力してください

参考

http://developer.android.com/tools/publishing/app-signing.html


2
この答えは正しいですが、すでにAndroid Studioがインストールされている場合にのみ便利です。
Seph Reed

98

シェルで1行のコマンドを使用して.keystoreを生成する方法を探していたので、別のアプリケーションから実行できました。これが方法です:

echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
  • dnameは、.keystore内のアプリケーションの一意の識別子です

    • cn .keystoreを生成する個人または組織の完全な名前
    • プロジェクトを作成するou組織単位。プロジェクトを作成する組織の下位区分。例 android.google.com
    • oプロジェクト全体の組織所有者。ouよりも高いスコープです。例:google.com
    • c国の短いコード。例:米国の場合は「US」
  • .keystore内の単一のエンティティとしてのアプリのエイリアス識別子(多くを持つことができます)

  • keypassその特定のエイリアスを保護するためのパスワード。
  • キーストアのパスの.keystoreのファイルが作成されなければならない(標準拡張子は実際にあります.ks
  • .keystoreコンテンツ全体を保護するためのstorepassパスワード。
  • 有効期限日のAMOUTアプリはこれで有効になりますの.keystore

それは私にとって本当にうまくいきました、それはコンソールで他に何も要求せず、ただファイルを作成します。詳細については、keytool-鍵および証明書管理ツールを参照してください。


私はそのようなエラーは一度もありませんでしたが、タッチ/path/file.keystoreして、storepassパラメータでポイントしてみてください。
EliuX 2016

よく働く!私の唯一の変更は、Android用の拡張子.jksを使用することです
Adam Mendoza

2
jksあるJavaのための公式ストアの拡張、一般的には、まだkeystoreのために使用することを推奨一つでAndroidアプリの代わりに。
EliuX 2016

1
@eliasbagleyこれは、上記の-storepassコマンドが別の行で開始されたためです。すべてを1行で記述してください。それで問題ありません。
tormuto、2018年

82

コマンドラインからキーストアファイルを作成します。

  1. コマンドラインを開く:

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved
    
    // (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
    
    C:\Windows\system32> keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
  2. Enter>パスワードの入力を求めます>パスワードを入力します(非表示になります)

    Enter keystore password:
    Re-enter new password:
  3. Enter>それはあなたの詳細を尋ねます。

    What is your first and last name?
     [Unknown]:  {AB} // [Your Name / Name of Signer] 
    What is the name of your organizational unit?
     [Unknown]:  {Self} // [Your Unit Name] 
    What is the name of your organization?
     [Unknown]:  {Self} // [Your Organization Name] 
    What is the name of your City or Locality?
     [Unknown]:  {INDORE} // [Your City Name] 
    What is the name of your State or Province?
     [Unknown]:  {MP} //[Your State] 
    What is the two-letter country code for this unit?
     [Unknown]:  91
  4. Enter> Enter Y

    Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
    [no]:  Y
  5. Enter>パスワードをもう一度入力します。

    Generating 2,048 bit RSA key pair and self-signed certificate    (SHA256withRSA) with a validity of 10,000 days
        for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
    Enter key password for <index> (RETURN if same as keystore password):
    Re-enter new password:

[C:/index.keystoreの保存]

  1. これで完了です!!!

Eclipseでエクスポート:

作成したキーストアファイルを使用してAndroidパッケージを.apkにエクスポートします

  1. エクスポートするパッケージを右クリックして、エクスポートを選択します ここに画像の説明を入力してください

  2. [Androidアプリケーションのエクスポート]> [次へ]を選択します ここに画像の説明を入力してください


  3. ここに画像の説明を入力してください

  4. 「既存のキーストアを使用」>「。keystoreファイルを参照」>「パスワードを入力」>「次へ」を選択します ここに画像の説明を入力してください

  5. エイリアスを選択>パスワードを入力>次へ ここに画像の説明を入力してください

  6. APKの宛先を参照>完了 ここに画像の説明を入力してください

Android Studioの場合:

[.keystore/.jks]スタジオでキーストアを作成...

  1. [ ビルド(ALT + B)] > [ 署名済みAPKを生成...]をクリックします。
    ここに画像の説明を入力してください

  2. [ 新規作成]をクリックします。(ALT + C)
    ここに画像の説明を入力してください

  3. キーストアパスを参照(Shift + Enter)>パスを選択>名前を入力> OK ここに画像の説明を入力してください

  4. .jks/keystoreファイル の詳細を入力してくださいここに画像の説明を入力してください


  5. ここに画像の説明を入力してください

  6. あなたのファイル
    ここに画像の説明を入力してください

  7. Studioマスターパスワードを入力します(わからない場合はリセットできます) > OK ここに画像の説明を入力してください

  8. *宛先フォルダ*> ビルドタイプを選択します

    release : for publish on app store
    debug : for debugging your application

    完了をクリックします

    ここに画像の説明を入力してください

できた!!!


28

このチュートリアル:

http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html

初めてキーストアを作成する必要があったときは、とても役に立ちました。シンプルですが、developer.android.comでの手順は少し短すぎます。

保存場所とキーストアファイルに付ける名前がわからない部分がありました。

どこに置いてもかまいません。安全に保管し、多数のバックアップを保管してください。私はそれを自分のアプリディレクトリに置くだけです

ファイルに「something.keystore」という名前を付けます。ここで、何かは何でもかまいません。app_name.keystoreを使用しまし。app_nameはアプリの名前です。

次の部分は、エイリアスの名前です。繰り返しますが、問題はないようです。もう一度app_nameを使用しました。以前と同じパスワードを使用してください。残りのフィールドに入力すれば完了です。


13

このガイドに従ってデバッグキーストアを作成しました。

コマンドは次のとおりです。

keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

11

このコマンドを使用してdebug.keystoreを作成します

keytool -genkey -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"

5

最初に知っておくべきことは、デバッグモードかリリースモードかを確認することです。開発者サイトから「デバッグモードとリリースモードの2つのビルドモードがあります。アプリケーションの開発およびテスト時にはデバッグモードを使用します。直接配布できるアプリケーションのリリースバージョンをビルドするには、リリースモードを使用します。ユーザーに提供するか、Google Playなどのアプリケーションマーケットプレイスで公開します。」

デバッグモードの場合は、次のようにします
。A.ターミナルを開いて次のように入力します。

keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v

注:Eclipseの場合、デバッグキーストアは通常〜/ .android / debug.keystore ...にあります。

B.パスワードの入力を求められたら、単に「android」と入力します...

C.リリースモードの場合は、次の指示に従ってください...

http://developer.android.com/tools/publishing/app-signing.html <-このリンクは、知っておくべきすべてのことをかなり説明しています。


2

署名済みAPKをエクスポートして、キーストアを作成できます。署名付きAPKをエクスポートまたはビルドしようとすると、キーストアが要求されます。

既存のキーストアを選択するか、[新しいキーストアを作成]をクリックして新しいキーストアを簡単に作成できます

ここにリンクがあり、キーストアを作成して署名済みAPKを生成する方法について非常に便利でよく説明されています

このリンクはAndroid Studioでそれを行う方法を説明しましたが、私が覚えていると、それはEclipseでかなり似ています

気を付けて

キーストアを生成したら、新しい署名付きAPKを再生成するために必要になるため、安全な場所に保管してください。

Androidスタジオでプロジェクトをエクスポートするにはどうすればよいですか?


2

私はgradleのみで自動化する方法を提案したいと思います

**最後のコマンドで、キーストアの少なくとも1つの追加パラメーター(国など)も定義します'-dname', 'c=RU'**

apply plugin: 'com.android.application'

// define here sign properties
def sPassword = 'storePassword_here'
def kAlias = 'keyAlias_here'
def kPassword = 'keyPassword_here'

android {
    ...
    signingConfigs {
        release {
            storeFile file("keystore/release.jks")
            storePassword sPassword
            keyAlias kAlias
            keyPassword kPassword
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.release
        }
        release {
            shrinkResources true
            minifyEnabled true
            useProguard true
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    ...
}

...

task generateKeystore() {
    exec {
        workingDir projectDir
        commandLine 'mkdir', '-p', 'keystore'
    }
    exec {
        workingDir projectDir
        commandLine 'rm', '-f', 'keystore/release.jks'
    }
    exec {
        workingDir projectDir
        commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
            '-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
            '-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
    }
}

project.afterEvaluate {
    preBuild.dependsOn generateKeystore
}

これにより、プロジェクトの同期およびビルド時にキーストアが生成されます

> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE

-4

Android Studioを使用したくない、または使用できない場合は、create-android-keystore NPMツールを使用できます。

$ create-android-keystore quick

これにより、現在のディレクトリに新しくキーストアが生成されます。

詳細:https : //www.npmjs.com/package/create-android-keystore

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.