APKファイルに署名しようとしています。方法がわかりません。良い詳細な方向を見つけることができません。私はプログラミングの経験がほとんどないので、どんな助けでも感謝します。
マニュアルは十分に明確です。作業を終えた後、どの部分にこだわるのかを指定してください。
https://developer.Android.com/studio/publish/app-signing.html
さて、参照やEclipseのない小さな概要なので、エラーのためのスペースを残しますが、このように機能します
また、リンクから:
Eclipse ADTでコンパイルして署名する
EclipseをADTプラグインと共に使用している場合、Export Wizardを使用して、署名された.apkをエクスポートできます(必要に応じて新しいキーストアを作成することもできます)。エクスポートWizardは、KeytoolおよびJarsignerとのすべての対話を実行します。これにより、上記のように、コンパイル、署名、および位置合わせの手動手順を実行する代わりに、GUIを使用してパッケージに署名できます。ウィザードがパッケージをコンパイルして署名すると、Zip alignによるパッケージのアライメントも実行されます。エクスポートWizardはKeytoolとJarsignerの両方を使用するため、上記の署名の基本設定で説明したように、コンピューターでそれらにアクセスできることを確認する必要があります。
Eclipseで署名および整列された.apkを作成するには:
- パッケージエクスプローラーでプロジェクトを選択し、[ファイル]> [エクスポート]を選択します。
Androidフォルダーを開き、[Androidアプリケーションのエクスポート]を選択して、[次へ]をクリックします。
Androidアプリケーションエクスポートウィザードが起動します。これにより、.apkに署名する秘密キーを選択する手順(または新しいキーストアと秘密キーを作成する手順)を含む、アプリケーションに署名するプロセスが案内されます。 。
- エクスポートWizardを完了すると、アプリケーションがコンパイル、署名、整列され、配布の準備が整います。
心配しないでください...!以下の手順に従って、署名された.apkファイルを取得します。私もそれを心配していましたが、これらのステップはフラストレーションから私を乗り切ります。アプリケーションに署名する手順:
Eclipseでプロジェクトを右クリック-> Android Tools-> Export Unsigned Application Package(このようにGoogleDriveApp.apkをデスクトップにエクスポートします)
キーストアとjarsignerツールを使用してアプリケーションに署名します(以下の手順に従ってください):
Cmd->「jarsigner.exe」が存在するディレクトリを変更します(私のシステムでは「C:\ Program Files\Java\jdk1.6.0_17\bin」にあります)
次に、cmdにbelwoコマンドを入力します。
jarsigner -verbose -keystore c:\ users\Android\debug.keystore c:\ users\pir fahim\Desktops\GoogleDriveApp.apk my_keystore_alias
パスワードの入力を求められます:キーストアのパスフレーズを入力してください:apkに署名します。署名が成功したことを確認するには、次を実行します:
jarsigner -verify c:\ users\pir fahim\Desktops\GoogleDriveApp.apk
Jarが検証されました。
方法2
EclipseをADTで使用している場合、ファイルのコンパイル、署名、整列、および配布準備が簡単です。この手順に従うだけです。
これらの手順により、プロジェクトがコンパイル、署名、Zip調整され、プロジェクトを配布したり、Google Playストアにアップロードしたりできます。
IntelliJ IDEAまたはAndroid Studioのユーザーの場合、次の手順を実行します。
*メニューからBuild/Generate signed APK
*キーストアパスを作成する必要があります。ダイアログからCreate new
をクリックします。キーを含むjksファイルを作成します。フォルダを選択し、パスワードを定義します。キーストアは大丈夫です。
*エイリアス、キーパスワード、名前などを使用して、アプリケーション用に新しいキーを作成します。
* [次へ]をクリックします。
*ダイアログから Proguard を選択します。
署名済みAPKファイルの準備ができました。
ヘルプファイル: https://www.jetbrains.com/idea/webhelp/generate-signed-apk-wizard.html
私はこの問題にぶつかり、マニフェストの最小SDKバージョンを確認することで解決しました。 15(ICS)に設定されましたが、私の電話は10(Gingerbread)を実行していました
Android APKファイルに手動で署名するには、次の3つのコマンドを実行します。
キーストアファイルの生成
keytool -genkey -v -keystore YOUR_KEYSTORE_NAME.keystore -alias ALIAS_NAME -keyalg RSA -keysize 2048 -validity 10000
jarsigner
を使用してAPKファイルに署名する
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore KEYSTORE_FILE_PATH UNSIGNED_APK_PATH ALIAS_NAME
zipalignツールを使用して署名済みAPKを整列する
zipalign -v 4 JARSIGNED_APK_FILE_PATH ZIPALIGNED_SIGNED_APK_FILE_PATH
Generate Keystore file
keytool -genkey -v -keystore YOUR_KEYSTORE_NAME.keystore -alias ALIAS_NAME -keyalg RSA -keysize 2048 -validity 10000
keytool -genkey -v -keystore id.keystore -alias MySignedApp -keyalg RSA -keysize 2048 -validity 10000
キーストアのパスワード:yourApp @ 123キーのパスワード:yourApp @ 123
D:\ru\SignedBuilds\MySignedApp>keytool -genkey -v -keystore id.keystore
-alias MySignedApp -keyalg RSA -keysize 2048 -validity 10000
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: MySignedApp Sample
What is the name of your organizational unit?
[Unknown]: Information Technology
What is the name of your organization?
[Unknown]: MySignedApp Demo
What is the name of your City or Locality?
[Unknown]: Mumbai
What is the name of your State or Province?
[Unknown]: Maharashtra
What is the two-letter country code for this unit?
[Unknown]: IN
Is CN=MySignedApp Demo, OU=Information Technology, O=MySignedApp Demo, L=Mumbai, ST=Maharashtra, C=IN corr
ect?
[no]: y
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,
000 days
for: CN=MySignedApp Demo, OU=Information Technology, O=MySignedApp Demo, L=Mumbai, ST=Maharashtra,
C=IN
Enter key password for <MySignedApp>
(RETURN if same as keystore password):
Re-enter new password:
[Storing id.keystore]
D:\ru\SignedBuilds\MySignedApp>
Sign your app with your private keystore using jarsigner
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore KEYSTORE_FILE_PATH UNSIGNED_APK_PATH ALIAS_NAME
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore D:\ru\SignedBuilds\MySignedApp\id.keystore D:\ru\SignedBuilds\MySignedApp\MySignedAppS1-release-unsigned.apk id
D:\ru\SignedBuilds\MySignedApp>jarsigner -verbose -sigalg SHA1withRSA -
digestalg SHA1 -keystore D:\ru\SignedBuilds\MySignedApp\id.keystore D:\ru\SignedBuilds\MySignedApp\MySignedAppS1-release-unsigned.apk id ---
ect
Enter Passphrase for keystore:
adding: META-INF/MANIFEST.MF
adding: META-INF/---.SF
adding: META-INF/---.RSA
signing: AndroidManifest.xml
.....
signing: classes.dex
signing: lib/commons-codec-1.6.jar
signing: lib/armeabi/libkonyjsvm.so
jar signed.
Warning:
No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not
be able to validate this jar after the signer certificate's expiration date (2044-02-07) or after an
y future revocation date.
D:\ru\SignedBuilds\MySignedApp>
Verify that your APK is signed
jarsigner -verify -verbose -certs JARSIGNED_APK_FILE_PATH
jarsigner -verify -verbose -certs MySignedAppS1-release-unsigned.apk
D:\ru\SignedBuilds\MySignedApp>jarsigner -verify -verbose -certs MySignedAppS1-release-unsigned.apk
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope
jar verified.
Warning:
This jar contains entries whose certificate chain is not validated.
This jar contains signatures that does not include a timestamp. Without a timestamp, users may not b
e able to validate this jar after the signer certificate's expiration date (2044-02-09) or after any
future revocation date.
D:\ru\SignedBuilds\MySignedApp>
zipalign -v 4 JARSIGNED_APK_FILE_PATH ZIPALIGNED_SIGNED_APK_FILE_PATH_WITH_NAME_ofSignedAPK
zipalign -v 4 D:\ru\SignedBuilds\MySignedApp\MySignedAppS1-release-unsigned.apk D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk
D:\Android\android-sdk\build-tools\19.1.0>zipalign -v 4 D:\ru\ru_doc\Signed_apk\MySignedApp\28.09.16
_prod_playstore\MySignedAppS1-release-unsigned.apk D:\ru\ru_doc\Signed_apk\MySignedApp\28.09.16_prod
_playstore\MySignedApp.apk
Verifying alignment of D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk (
4)...
4528613 classes.dex (OK - compressed)
5656594 lib/commons-codec-1.6.jar (OK - compressed)
5841869 lib/armeabi/libkonyjsvm.so (OK - compressed)
Verification succesful
D:\Android\android-sdk\build-tools\19.1.0>
Verify that your APK is Aligned successfully
zipalign -c -v 4 YOUR_APK_PATH
zipalign -c -v 4 D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk
D:\Android\android-sdk\build-tools\19.1.0>zipalign -c -v 4 D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk
Verifying alignment of D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk (
4)...
4453984 res/drawable/zoomout.png (OK)
4454772 res/layout/tabview.xml (OK - compressed)
4455243 res/layout/wheel_item.xml (OK - compressed)
4455608 resources.arsc (OK)
4470161 classes.dex (OK - compressed)
5597923 lib/commons-codec-1.6.jar (OK - compressed)
5783198 lib/armeabi/libkonyjsvm.so (OK - compressed)
Verification succesful
D:\Android\android-sdk\build-tools\19.1.0>
Verifyコマンドは、APKが正しくビルドおよび署名されているかどうかを確認するためのものです!
これがすべての人に役立つことを願っています:)