私は最近、Android で最初に署名してから apkを zipalignする必要がある理由を自問しました。これらのプロセスが技術的にどのように詳細に機能しているか、いくつかの背景情報を検索しました。私はまだ少し不満です.なぜなら、これらの説明は、なぜこのシーケンスが必要なのかを技術的に説明していないからです.
しかし、最初から始めましょう:
apk-build-process では次の順序が必要であることを知っています
- 多くの前のステップ...
- apk ファイルの作成
- apk ファイルに署名する (apk を変更する)
- apk ファイルのzipaligning (apk の変更)
ここでいくつかの情報を見つけました:
zipalign
そのため、zipalign が内部を 4 バイト境界に揃えて、すべてを mmap でロードできることは明らかです。Signing- プロセスがこのアラインメントを破壊するようです。したがって、署名後のプロセスの最後に zipaligning を呼び出す必要があります。
しかし、apk の署名を破壊することなく、apk-content を再調整できるのはなぜですか!?
apk が変更され、変更された apk の後に署名が有効になるはずがないと思いました...
誰かが私がここで見つけたよりも技術的な背景情報を持っているかもしれません:
Signing your application
ありがとう、誰かが役に立つ、より技術的に詳細な情報を持っていれば。
ルーク