システム APK を編集するための基本的な手順:
- APK のバックアップを作成します。
- 動作中の APK を逆コンパイルします。
- 変更を行います。
- 作業中の APK を再コンパイルします。
- META-INF フォルダーと AndroidManifest.xml の両方を、バックアップ APK (逆コンパイルされていない) からコピーして、再コンパイルされた動作中の APK に貼り付けます。終わり!
META-INF には署名が含まれています: これは理にかなっています。しかし、元の署名を保持する AndroidManifest.xml の目的は何ですか? 私はこれを自分でテストしましたが、Android は再コンパイルされた AndroidManifest.xml (つまり、元の AndroidManifest.xml ではない) で APK をロードしませんでした。
多くのガイドでは、元の APK から変更された APK に META-INF と AndroidManfest.xml の両方をコピーする必要があると述べています。
私が見つけた最も近い答えは、再コンパイルすると AndroidManifest.xml が破損するというものです ( http://rootzwiki.com/topic/268-guide-newbies-how-to-port-themes/を参照)。 AndroidManifest.XML を再コンパイルし、それらは同一です (WinMerge と言い、それらは同一の MD5 および SHA1 ハッシュを持っています)。別の個人 ( http://miuiandroid.com/community/threads/q-remove-miui-torch-app.16013/ ) は、META-INF と AndroidManifest.xml が何らかの形で互いに関連付けられていると推測しています。
誰もがそうするのですが、その理由を知っている人はいますか?