Android System Mods用のFlashable Zipを作成する方法

/ systemパーティション用のアプリ(ルートアプリなど)を作成するAndroid開発者の場合、アプリ用にフラッシュ可能な.zipを作成する特定のインスタンスがあります。 これは、アプリファイルを/ systemパーティションに適切にインストールできるようにするためです。

フラッシュ可能な.zipの他のいくつかの使用法は次のとおりです。

  • DPIの変更
  • カスタムフォントの適用
  • カスタムブートアニメーションの適用
  • システムアプリの削除または追加

ユーザーにファイルシステムをいじり、ファイルを手動で移動するよう指示することは、関係者全員にとって時間の浪費です。フラッシュ可能な.zipを作成する方がはるかに便利な方法です。 このAppualのガイドでは、Android用のフラッシュ可能なzipを作成する方法を説明します。

また、addon.dスクリプトも示します。これにより、カスタムシステムの変更が汚れたROMフラッシュに耐えられるようになります。したがって、ユーザーは更新ごとにzipを再フラッシュする必要がありません。

要件:

  • ルートファイルエクスプローラー(MiXplorer、Solid Explorer)
  • MixSignorを使用する場合は、ZipSigner(zipの署名用)またはMiX Signerプラグイン
  • Nandroidバックアップを強くお勧めします

また、zipに含まれるすべてのファイル(APK、構成、ブートアニメーションなど)を準備する必要があります。これはデリケートなプロセスであるため、開始する前にすべてを整理してください。

カスタムZipのテンプレート

独自のニーズに合わせてカスタマイズできるテンプレートzipをダウンロードしたり、フラッシュ可能なzipを作成するためのベースとして使用したい場合は、ここから入手できます。

  • テンプレートスクリプト:ダウンロードリンク(基本的なコマンド/カスタム値を追加する必要があります:アプリ、着信音のパス、ブートアニメーション…)
  • テンプレートZIP:ダウンロードリンク(例は説明をよりよく理解するために常に歓迎されています。ファイルの構造化方法を理解するのに役立ちます)。

テンプレートは、カスタムスクリプトの使用を開始するのに十分なはずです。

これらのメインパスを覚えておく必要があります。これらは、フラッシュ可能なzipが通常ターゲットとする/ systemパーティション内のものであるためです。

 addon.d =>ダーティフラッシュ(たとえばGAppsパッケージで使用)を生き残るためのバックアップスクリプトappおよびpriv-app =>追加または削除するシステムアプリ=>ホストファイルフォント=>フォントメディア=> bootanimation.zipメディア>音声>アラーム=>アラームの音メディア>音声>通知=>通知の音メディア>音声>着信音=>着信音の音メディア>音声> ui =>バッテリー低下、ロック解除、カメラ、 .. build.propファイルの/ systemのルート 

これらのパスから削除されたファイルは、ダーティフラッシュの後に再インストールされ、手動で追加されたファイルは削除されることを常に覚えておいてください。 これが、/ system modのバックアップを作成するスクリプトを作成する必要がある理由です。

更新スクリプトの例

 ui_print( "+ ------------------------------------- +"); ui_print( "| CLEAN FLASH SCRIPT |"); ui_print( "| |"); ui_print( "| by Primokorn |"); ui_print( "+ ------------------------------------- +"); run_program( "/ sbin / busybox"、 "umount"、 "/ system"); run_program( "/ sbin / busybox"、 "mount"、 "/ system"); ui_print( ""); ui_print( "***ブロートウェアの削除***"); delete_recursive( "/system/app/adaway.apk"、 "/ system / app / AdAway"、 "/ system / app / BasicDreams"、 "/ system / app / BookmarkProvider"、 "/ system / app / Calendar"、 " / system / app / CalendarWidget」、「/ system / app / CMFileManager」、「/ system / app / CMWallpapers」、「/ system / app / DeskClock」、「/ system / app / Eleven」、「/ system / app /メール」、「/ system / app / ExactCalculator」、「/ system / app / Exchange2」、「/ system / app / Gello」、「/ system / app / HexoLibre」、「/ system / app / Jelly」、「/ system / app / LiveWallpapersPicker」、「/ system / app / LockClock」、「/ system / app / messaging」、「/ system / app / MiXplorer」、「/ system / app / NexusLauncher」、「/ system / app / Phonograph "、" / system / app / PhotoTable "、" / system / app / PicoTts "、" / system / app / PicoTTS "、" / system / app / ResurrectionStats "、" / system / app / SoundRecorder "、" / system / app / Terminal」、「/ system / app / TugaBrowser」、「/ system / app / Wallpaper」、「/ system / app / WallpaperPickerGoogle」、「/ system / priv-app / AudioFX」、「/ system / priv- app / Chrome」、「/ system / priv-app / Gallery2」、「/ system / priv-app / MusicFX」、「/ system / priv-app / OnePlusCamera」、「/ system / priv- app / OnePlusGallery」、「/ system / priv-app / OnePlusMusic」、「/ system / priv-app / Recorder」、「/ system / priv-app / Screencast」、「/ system / priv-app / Snap」、「 / system / priv-app / SnapdragonCamera "、" / system / priv-app / SnapdragonGallery "、" / system / priv-app / WeatherManagerService "、" / system / priv-app / WeatherProvider "、" / system / priv-app / Tag "); ui_print( "アプリやmodなどのインストール"); show_progress(8.800000、5); package_extract_dir( "system"、 "/ system /"); ui_print( "***固定権限***"); set_perm(0、0、0755、 "/system/addon.d/99-dirty.sh"); set_perm(0、0、0644、 "/system/etc/gps.conf"); set_perm(0、0、0644、 "/system/fonts/Roboto-Regular.ttf"); set_perm(0、0、0644、 "/system/media/audio/ringtones/PlasticRing.ogg"); set_perm(0、0、0644、 "/system/priv-app/Phonesky.apk"); set_perm(0、0、0644、 "/system/priv-app/microG.apk"); set_perm(0、0、0644、 "/system/priv-app/Gsam.apk"); set_perm(0、0、0644、 "/system/priv-app/BBS.apk"); set_perm(0、0、0644、 "/system/priv-app/V4A-Magisk.apk"); run_program( "/ sbin / busybox"、 "mount"、 "/ data"); package_extract_dir( "data"、 "/ data /"); set_perm(0、0、0755、 "/data/local/afscript.sh"); show_progress(8.800000、5); run_program( "/ sbin / busybox"、 "umount"、 "/ data"); run_program( "/ sbin / busybox"、 "umount"、 "/ system"); ui_print( ""); ui_print( "Done。"); ui_print( "再起動の準備ができました。"); 

注:ui_print( "“); テキストメッセージ用です。 これらの行は何もしません。

作業する前に、常にパーティションをアンマウントして再マウントする必要があります。

 run_program( "/ sbin / busybox"、 "umount"、 "/ system"); run_program( "/ sbin / busybox"、 "mount"、 "/ system"); 

システムコンポーネント/アプリを削除するには、最後の行を除き、各行の最後にコンマを入れます。

 delete_recursive( "/system/app/adaway.apk"、 "/ system / app / AdAway"、........................ "/ system / priv-app / WeatherProvider "、" / system / priv-app / Tag "); 

インストールするシステムファイルを抽出します。

 package_extract_dir( "system"、 "/ system /"); ファイル許可を設定します。 set_perm(0、0、0755、 "/system/addon.d/99-dirty.sh"); .............. set_perm(0、0、0644、 "/system/priv-app/V4A-Magisk.apk"); 

同じことを/ dataフォルダーに対して行います。 そのため、パーティションをマウントし、追加するデータを抽出して、アクセス許可を設定します。

 run_program( "/ sbin / busybox"、 "mount"、 "/ data"); package_extract_dir( "data"、 "/ data /"); set_perm(0、0、0755、 "/data/local/afscript.sh"); 

次に、変更したパーティションをアンマウントします。

 run_program( "/ sbin / busybox"、 "umount"、 "/ data"); run_program( "/ sbin / busybox"、 "umount"、 "/ system"); 

Addon.Dスクリプトの例

 #!/ sbin / sh##/system/addon.d/99-dirty.sh#/ systemがフォーマットされて再インストールされた後、これらのファイルが復元されます。 #。 /tmp/backuptool.functions list_files(){cat < 

汚れたフラッシュの後に保持するファイルのリストを作成します。

 list_files(){cat < 

RM -RFダーティフラッシュの後にインストールしたくないファイル(ダーティフラッシュから再インストールされる変更で削除したシステムファイル)

 rm -rf /system/app/adaway.apk rm -rf / system / app / AdAway rm -rf / system / app / BasicDreams rm -rf / system / app / BookmarkProvider ............ .................................... rm -rf / system / priv-app / WeatherProvider rm -rf / system / priv-app / Tag ;; 

フラッシュ可能なAndroid Zipを作成する方法

これにはMiXplorerを使用します。これは、Androidにとって最高のルートエクスプローラーであり、ファイルマネージャーであるためです。

  1. 最初に、zipに含まれるすべてのフォルダーを選択し、アーカイブを選択します。

  2. アーカイブファイルの作成を確認し、名前を付けて、[保存]を選択します。

  3. フラッシュ可能なzipが作成されるので、zipファイルを選択して署名します(MiX signerプラグインを使用)
  4. TestKeyを選択して、署名エラーをチェックします。
  5. これで、zipをフラッシュできます。カスタムリカバリから簡単に見つけるために、/ SDcardに移動することをお勧めします。

最終ノート

フラッシュ可能なzipは、クリーンフラッシュの後、または/ systemパーティションを消去してROMのダーティフラッシュを実行した後にインストールする必要があります。 updater-scriptは、スクリプトで指定したシステムファイルを削除および追加しますが、addon.dスクリプトはそのままにしておきます。これは、ユーザーからの干渉なしにジョブを実行するためです。

最初のインストール後、/ systemパーティションを完全にチェックして、ファイルが削除されているなど、すべてが正しいことを確認します。ファイル名にタイプミスがあり、削除されなかった可能性があります。

興味深い記事