実行する必要があるのは、boot.imgをバンドルし、ClockworkModまたはTWRPを介したフラッシュに適した新しいzipファイルを作成することです。
前提条件:
- Javaなどの通常の開発パッケージがインストールされているLinux環境。(これは他のプラットフォームにも適用できます。以下で使用されているパスを示すここの説明ではスラッシュを使用している
/
ため、\
特にWindows環境ではバックスラッシュになるように反転してください!)
- インストールされているadbコマンドラインツール。
- `testsign.jar ' ツール。zipファイルに署名して、リカバリがそれを認証し、それが有効なアーカイブであることを確認できるようにします。それ以外の場合、リカバリは破損したアーカイブなどを報告します。
update-binary
コマンドラインアプリケーション。フラッシュ可能なスクリプトで使用するための内部です。(これは任意のフラッシュ可能なzipで見つけることができます。重要なことは、そのバイナリを抽出し、示されているようにディレクトリの構造に配置することです)
- zipコマンドラインツール。
あなたのディレクトリがworkdirと呼ばれていると仮定して、議論のために、これを作業ディレクトリと呼び、そのディレクトリにをコピーしboot.img
、次のディレクトリ構造を作成します- META-INF/com/google/android
これは重要です!そして内でMETA-INF/com/google/android
、呼び出さupdate-binary
れたバイナリアプリケーションをそのディレクトリにコピーします。したがって、ディレクトリ構造は次のようになります。
+ workdir/
+
|
+--+ boot.img
|
|
+--+ META-INF/
+
|
+--+ com/
+
|
+--+ google/
+
|
+--+ android/
+
|
+--> update-binary
|
+--> updater-script
についてはupdater-script
、以下の内容をコピーしてください。
ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");
覚えておいてください:ここで混乱しないでください。示されているアップデータスクリプトはそのままにして、そのままにする必要があります。そのため、Windows環境でこれを行う場合は、スラッシュをバックスラッシュに切り替えないでください。
ディレクトリ構造の親に戻り、workdirの外で次の操作を行います。これからzipファイルを作成します。
zip -r my_custom_flashable_boot_unsigned.zip workdir/
これは再帰的な関数であり、すべてをmy_custom_flashable_boot_unsigned.zipというファイルに圧縮します。
最後に、zipファイルに署名するには、次のコマンドを発行します。
java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip
次に、SDカード全体にプッシュしadb push my_custom_flashable_boot_signed.zip /sdcard/
、手動でリカバリを開始して、フラッシュを実行するzipアーカイブ(つまりmy_custom_flashable_boot_signed.zip)を指定します。