web-dev-qa-db-ja.com

Android Market APKの証明書を作成するにはどうすればよいですか?

最初のAPK /アプリをAndroidマーケットにアップロードしたいのですが、このエラーが発生しました(ところで、stackoverflowで検索したときに正しいリンクが表示されませんでした)。

Marketは、デバッグ証明書で署名されたAPKを受け入れません。少なくとも50年間有効な新しい証明書を作成します。マーケットでは、APKの署名に使用される証明書が少なくとも2033年10月22日まで有効である必要があります。新しい証明書を作成してください。

結局のところ この質問 は似ていますが、その男は実際には説明せずに、「ああ、あなたはそれを行う方法を思い出させました」とだけ言っています。 「回答」で参照されているWebサイトを見てきましたが、これが私の問題です。

  • Keytoolツールの場所がわかりません。 Androidサイト はかなり曖昧です。 ..\Android-sdk-windows\toolsディレクトリに「keytool」が表示されません。
  • 私はこれを以前に行ったと思いますが、「コマンドプロンプトを開き、keytoolがあるディレクトリに移動し、コマンド 'xyz -flagsforxyz'を入力して、 Eclipseの 'export release apk'オプションからのキーストア "...または同様のもの。

私がすでにいくつかのことを試したことがあることがわかると思います!私は単純なものを見落としているだけかもしれません-それで、ステップをスタックオーバーフローに記録する時が来ました!ご協力いただきありがとうございます。

33
Danny

Eclipse for Developmentを使用している場合は、プロジェクトを右クリックして[エクスポート]をクリックします。 Androidを選択してから、エクスポートAndroidアプリケーションを選択します。次のステップで、エクスポートするプロジェクトを確認します。次に、[次へ]をクリックすると、次のことができるようになります。 [新しいキーストアを作成する]を選択します。これで、必須フィールドに入力すると、アプリに署名できるようになります。必ずキーストアファイルのバックアップを作成し、パスワードを覚えておいてください。これを失うと、アプリケーションを更新できなくなります。

ターミナルを使用してキーストアを作成し、Java SDKがインストールされている場合は、/ usr/binにkeytoolというプログラムが必要です(UNIXベースのシステムの場合)。Windowsでは、SDKはまた、keytoolが付属していますが、keytoolがまだパスにない場合は、コンピューター上のkeytool.exeの検索場所が異なる場合があります。このツールを使用すると、次の方法でキーを作成できます。

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

証明書を紛失したり失効したりすると、アプリケーションに署名できなくなります。有効期限が将来的に長い長い期間であることを確認してください。

77
Janusz

はい、januszは非常にうまく説明してくれましたが、アプリを市場に出す前に、もう少しステップを説明したいと思います。最初のステップはjarsignerを使用してアプリに署名することです

jarsigner -verbose -keystore pkg_name apk_file_name key_name

2番目のステップは、zipalignを使用して、スペースが失われていないことを確認することです。

zipalign -v 4 apk_file_name zipped_apk_file_name(newfile)

それは確かにあなたのアプリを起動するのに役立ちます。

4
akshay