web-dev-qa-db-ja.com

キーストアを作成する方法

(Eclipse環境で)Android用のキーストアを作成する手順は何ですか?私は自分のアプリでグーグルマップを使う必要がありますが、どのステップを逃したのかわかりません。具体的な詳細な手順を教えてください(ガイドからは理解できませんでした)。

431
user482762

タイトルの質問に答えるには、標準のJDKディストリビューションに付属している%Java_HOME%\binにあるJava Keytoolユーティリティを使用してキーストアを作成します。 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日間有効な単一のキーが含まれています。エイリアスはあなたが - あなたのアプリケーションに署名するときにこのキーストアを参照するために後で使用する名前です。

Keytoolの詳細については、次のURLにあるドキュメントを参照してください。 http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

そしてAndroidアプリへの署名に関するより多くの情報はここに行く: http://developer.Android.com/tools/publishing/app-signing.html

449
georgiecasey

Android Studioでアプリに署名する

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

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


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


3- [New Key Store]ウィンドウで、図に示すように必要な情報を入力します。キーは少なくとも25年間有効である必要があります。そうすれば、アプリケーションの寿命を通じて同じキーでアプリの更新に署名できます。

enter image description here

4- [署名付きAPKの生成Wizard]ウィンドウで、キーストア、秘密鍵を選択し、両方のパスワードを入力します。次にNextをクリックします。enter image description here

5-次のウィンドウで、署名付きAPKの送信先を選択して[完了]をクリックします。 enter image description here

参照

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

127
mustafasevgi

シェルで 単一行コマンド を使用して.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」です
  • alias .keystore内の単一エンティティとしてのアプリの識別子(多くのものを含めることができます)

  • keypass その特定のエイリアスを保護するためのパスワード。
  • keystore .keystoreファイルが作成されるパス(標準の拡張子は実際には.ksです)
  • storepass .keystoreコンテンツ全体を保護するためのパスワード。
  • 有効性 この.keystoreでアプリが有効になる日数

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

84
EliuX

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

  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>パスワードの入力を求めます> password と入力します(見えなくなります)

    Enter keystore password:
    Re-enter new password:
    
  3. >あなたの詳細を尋ねるでしょう。

    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. エクスポートしたいパッケージを右クリックしてエクスポートを選択します。 enter image description here

  2. Androidアプリケーションのエクスポート>次へを選択します。 enter image description here


  3. enter image description here

  4. 「既存の鍵ストアを使用」>「.keystoreファイルの参照」>「パスワードの入力」>「次へ enter image description here

  5. 「エイリアス」>「パスワードの入力」>「次へ」を選択します enter image description here

  6. APKの閲覧先>フィニッシュ enter image description here

Android Studioの場合:

スタジオにキーストア[.keystore/.jks]を作成します...

  1. クリックビルド(ALT + B)> 署名付きAPKの生成...
    enter image description here

  2. クリック新規作成..(ALT + C)
    enter image description here

  3. キーストアパスの参照(SHIFT + ENTER)>パスの選択>名前の入力> OKenter image description here

  4. .jks/keystoreファイルの詳細を入力します enter image description here


  5. enter image description here

  6. あなたのファイル
    enter image description here

  7. スタジオマスターパスワードを入力してください (知らない場合はリセットできます) > OK enter image description here

  8. * Destination Folder *> Build Typeを選択します。

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

    完了をクリック

    enter image description here

完了しました。

62
Iamat8

このチュートリアル:

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

初めてキーストアを作成しなければならなかったとき、私にとって非常に役に立ちました。それは簡単ですが、developer.Android.comの説明は少し短すぎます。

私がよくわからなかったのは、保存先と キーストア ファイルに付ける名前です。

どこに置いても構いませんが、安全を保ち、多数のバックアップを取っておくようにしてください。私はちょうどそれを私のアプリディレクトリに入れます

ファイルに「something.keystore」という名前を付けます。 app_name.keystore を使用しました。 app_name は私のアプリの名前です。

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

27
birdman

このガイド に続き、デバッグキーストアを作成しました。

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

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

このコマンドを使用して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"
9
Aravin

最初に知っておくべきことは、あなたがデバッグまたはリリースモードにいるかどうかです。開発者サイトから "デバッグモードとリリースモードの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 < - このリンクでは、知っておく必要のあることすべてについて説明しています。

3
ShowLove

署名付きAPKをエクスポートしてキーストアを作成できます。署名付きAPKをエクスポート/構築しようとすると、キーストアが要求されます。

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

キーストアを作成して署名付きAPKを生成する方法についての非常に便利でよく説明されたリンクです。

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

ウォッチアウト

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

Androidスタジオでプロジェクトをエクスポートする方法

1
Hugo

gradle onlyを使用した自動方法を提案したい

**最後のコマンドでキーストアの少なくとも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
0
V. Kalyuzhnyu