app-debug.apkとapp-debug-unaligned.apkの違い


113

ビルドバリアントが「デバッグ」モードに設定されたAndroidスタジオで、apkの2つの出力が見つかりました

  • app-debug.apk
  • app-debug-unaligned.apk

これらのファイルの違いは何ですか?

回答:


113

整列されていないapkは単なる中間apkです。最初に、アラインされていないapkが生成されます。次に、アラインされていないapkがアラインされ、app-debug.apkであるアラインされたapkが生成されます。詳細については、こちらをご覧ください


75

短い答え:

app-debug-unaligned.apk=整列されていない署名済みAPK
app-debug.apk=整列された署名済みAPK(zipalignを使用して最適化されたRAM)


長い答え

違いを理解するには、次の点を知る必要があります。

アプリ署名プロセス

  • 秘密鍵を生成する(keytool)
  • コンパイルして未署名のAPKを取得します->未調整の未署名のAPK
  • 秘密鍵(jarsigner)を使用してアプリをデバッグ/リリースモードで署名する署名->未調整の署名済みAPK
  • APKを揃える(zipalign) ->署名済みAPKを揃える

ここでは、署名プロセス全体について説明します

なぜ中間体が必要なのapp-debug-unaligned.apkですか?

ドキュメントに従って:

注意: zipalignは、.apkファイルが秘密鍵で署名された後にのみ実行する必要があります。署名する前にzipalignを実行すると、署名手順によって配置が取り消されます。

利点は何ですか?zipalign?

利点は、整列されたAPKがRAMの使用に合わせて最適化されるため、デバイスで消費されるRAMが少なくなることです。ドキュメントから:

zipalignは、Androidアプリケーション(.apk)ファイルに重要な最適化を提供するアーカイブアライメントツールです。....利点は、アプリケーションの実行時に消費されるRAMの量が減ることです。

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