17

私は、お客様に展開するデバイス用の自動アプリ更新ソリューション(LG p509-Optimus 1)に取り組んでいます。これらのデバイスを制御し、現在、カスタムカーネルをインストールしています(完全なカスタムROMではありません)。デバイスでアプリの自動更新を実行しようとしているため、同じキーでアプリに署名できるように(INSTALL_PACKAGES権限を取得するために)、システムを制御するキーで署名する必要があります。
デバイスでAOSPビルドを実行する際にいくつか問題が発生し(デバイスのLGリリースソースを使用)、一歩下がってオプションを評価しようとしています。少し質問があります:

  1. system.imgを電話から外して、内容を辞任するだけで実行可能ですか?もしそうなら、システムapkはどこにありますか?PackageManagerソースを調べたところ、systempackage(「android」と呼ばれているようです)を使用してアプリを比較し、システム権限が許可されているかどうかを確認しました。
  2. ここで誰かがデバイス用のカスタムROMを作成し、署名をシステム署名にする方法についてアドバイスを提供できる人はいますか?

任意の洞察をいただければ幸いです。

4

2 に答える 2

15

わかりました、それで私たちはそれを理解しました。私は完全な詳細(あまりにも多くの執筆)に入るつもりはありませんが、これにつまずく人のための基本的な要点はここにあります:

システムが署名されているキーを変更する場合は、次の手順を実行する必要があります。

  • /system/実行中の電話からdirを抽出します
  • .apkファイル(from/system/appおよび/system/framework)を調べて、。と同じキーで署名されているファイルを特定しますframework-res.apkここにリンクされているスクリプトの修正バージョンを使用して、署名するAPKを特定しました。
  • /system/app署名キーを共有するAPKがオデックスされている場合は、それらをデデックスframework-res.apkする必要があります。
  • APKとを辞任し、それらを(グーグルでそれを行う方法)にframework-res.apkパックします。update.zip

私の特定のデバイスでは、すべてをスムーズに実行するために、フォルダーとフォルダーの両方/system/framework/framework-res.apk/system/framework/lge-res.apk辞任し、フォルダーから/system/framework20をデデックスして署名する必要がありました。.apks/system/app

于 2012-02-29T21:35:05.243 に答える
8

「システムapk」は/system/framework/framework.jar. システム イメージに再署名しようとしたことはありませんが、システム イメージの一部であるコードを記述し (通常の apk プロジェクト内ではありません)、この jar の一部になりました。このディレクトリには、再署名が必要な追加の jar があります。

署名はランダムに作成され、ビルド環境の 2 つのファイルに配置されbuild/target/product/security/platform.pk8ますbuild/target/product/security/platform.x509.pem。これらを通常のキー ストアから抽出する方法はわかりませんが、あるファームウェア ビルドから別のファームウェア ビルドにコピーして、両方のイメージが同じプラットフォーム キーを持つようにすることができました。また、次のコマンドで APK の署名を変更することもできましたjava -jar signapk.jar platform.x509.pem platform.pk8 Old.apk New.apk。ビルドに signapk.jar があります。out/host/linux-x86/framework/signapk.jar

于 2012-02-28T02:47:21.067 に答える