特殊なロジックがあるため、起動時にブートアニメーションなどのサービスを開かないようにしたいと思います。
前にブートアニメーションの置き換えについても触れましたが、「/ system / media」ディレクトリのbootanimation.zipを変更するだけです。
desc.txtやその他の構成など、より詳細なコンテンツのいくつかは、他のブログで言及されます。
今回の主な研究は、ブートアニメーションとブートリングトーンを完全にオフにする方法です。
ブートアニメーションのロジックも以前に研究されています。
システムが起動すると、Ramdiskのrcスクリプトが自動的に実行されます。その中にファイル/root/init.rcがあります。これはメインのシステムサービスjavascript:です。このスクリプトを開くと、serviceで始まる文がたくさんあることがわかります。システムサービスです。その機能は、必要なシステムサービスを開始するために起動するときに、system / binの下のバイナリファイルとshスクリプトを開始することです。スクリプトの実行後、システムサービスはスクリプトシーケンスで開始されます
システムサービスの開始後、通常、メディアサービスが最初に開始され、次に起動とシャットダウンのアニメーションとリングトーンサービスが開始されます。これは、電源オンアニメーションとリングトーンがメディアサービスに依存しているためです。ここでコードを追加および削除すると、アニメーションをオンまたはオフにできます。そして、リングトーンの目的。
現時点では、友人から再度質問が寄せられる場合がありますが、電源投入時のアニメーションと着信音をオフにして、システム/メディアから直接ファイルを削除するだけでは不十分ですか?それほど面倒である必要はありません。
次に、別の場所が関係します。アニメーションとリングトーンを直接削除する場合、システムがサービスを開始するときに、アニメーションとリングトーンファイルがシステム/メディアの下に見つからない場合、デフォルトのスイッチアニメーション、デフォルトのスイッチが読み込まれます。アニメーションはANDROIDで、system / framework / framework-res.apkにあります。フレームファイルを解凍します。assetsフォルダーの下に、Androidのデフォルトのスイッチアニメーションである画像ファイルと2つのpng画像があります。したがって、アニメーションファイルとリングトーンファイルを直接削除して、アニメーションとリングトーンを完全に閉じることはできません。システムサービスを変更することによってのみ、完全にオンとオフを切り替えることができます。
/root/init.rc内の次のスクリプトは、ブートアニメーションを開始するための対応するサービスです。このスクリプトが削除されている限り、ブートアニメーションをオフにすることができます。
service bootanim /system/bin/bootanimation
class core
user root
group graphics audio
disabled
oneshot
init.rcはAndroidのルートディレクトリにありますが、変更することはできません。変更すると無駄になります。再起動すると復元されます、ramdisk ...
init.rcはrootfs内のファイルです。Androidはrootfs(initramfs)をlinuxカーネルイメージにリンクして、通常の起動用のboot.imgとリカバリモードのrecovery.imgを生成します
。Androidブートローダーは、再起動するたびにboot.imgを変更する必要があります。RAMにロードされ、一方の部分は、実際のLinuxカーネルイメージ(zImageの)であり、他の部分は(等、init.rc、INITを含む)のinitramfsである。
Linuxカーネルが初期化されるとき、その後、initramfsのは/にrootfsのようにマウントされます。
このよう、adbシェルまたはシリアルポートを使用して/のinit.rcを変更します。次回の再起動でリロードされるため、変更は自然に消えます。
ここで、生成されたboot.imgはkernel.imgに統合されます。
PS:
Androidのinit.rcファイルがパブリックディレクトリにあるため、別の小さなエピソードがあります。このファイルを変更すると、すべてのプロジェクトのinit.rcが変更される可能性があります。
したがって、device.mkファイルを変更し、次のコードを指定されたディレクトリのinit.rcファイルに置き換える必要があります。
PRODUCT_COPY_FILES += \
device/hisilicon/bigfish/etc/init.rc:root/init.rc \
次のように変更します。
PRODUCT_COPY_FILES += \
device/kedacom/${TARGET_PRODUCT}/etc/init.rc:root/init.rc \
上記は、スタートアップサービスでbootanimationサービスをオフにする方法です。
他のサービスの開始と終了については、このセクションを参照することもできます。