آموزش ساخت اسکریپ برای فلش فایل زیپ

استاندارد

با سلام

برنامه های زیادی برای ساخت فایل قابل فلش معرفی کرده ام

همچنین روشهای زیادی برای ساخت فایلهای زیپ قابل فلش

اما در این تایپیک نحوه ساخت دستی این فایلها و توضیحات لازم رو براتون آماده کرده ام

موارد مورد نیاز برای شروع

فایلهای adb و فست بوت نصب باشند

Notepad++

7zip

یه پوشه هم درست کنید به نامی که می خواهید

چند پوشه بسازید با نامهای زیر در یک شاخه

/META-INF/com/google/android

در پوشه آخری اندروید دو فایل قرار می گیرند به نامهای زیر

update-binary: در مورد این فایل زیاد اطلاعاتی نیست

اما اگر برنامه نویس هستند و علاقه دارید در مورد این فایل اطلاعاتی کسب کنید سورس فایل در اینجا موجود می باشد

برای اینکه با مشکل مواجه نشید سعی کنید همیشه از update-binary به روزی استفاده کنید

فایل رو میتونید از رامهای OTA به روز گوگل یا رامهای جدید و پچ های که مال دستگاهتون کپی کنید

updater-script: این فایلو خودمون می تونیم درست کنیم

برنامه Notepad++ را باز کنید یک فایل جدید درست کنید طبق اطلاعات زیر

Format: Unix
Encoding: ANSI
Default Language: Normal Text

و طبق اطلاعات زیر ذخیرش کنید

File name: updater-script
File type: All types (*.*)

خوب الان می تونیم ویرایش رو شروع کنیم

کد زیر را وارد کنید

assert(getprop("ro.product.device") == "maguro" || getprop("ro.build.product") == "maguro");
ui_print(" ");
ui_print("confirming device maguro");
ui_print(" ");
ui_print("success");
ui_print(" ");
show_progress(0.200000, 5);
ui_print("mounting system");
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
ui_print(" ");
show_progress(0.200000, 5);
ui_print("updating system files");
package_extract_dir("system", "/system");
ui_print(" ");
show_progress(0.200000, 5);
ui_print("unmounting system");
unmount("/system");
ui_print(" ");
show_progress(0.200000, 5);
ui_print("by yourusername");
show_progress(0.200000, 5);
ui_print(" ");
***EMPTY LINE***

 

خوب بریم برای توضیح کدها

کد زیر

assert(getprop("ro.product.device") == "maguro" || getprop("ro.build.product") == "maguro");

این کد چک می کند دستگاه درستی را دارید فلش می کنید

بودن این کد اجباری نیست فقط به جایی “maguro” نام دستگاه خود را بنویسید یا کلا تمام کد را بردارید

کد زیر

mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");

این کد نقطه اتصال حافظه دستگاه(mount point) می باشد

برای گرفتن mount point دستگاه خود در adb کد زیر را وارد کنید

adb shell "mount > /sdcard/PHONENAME_mountinfo.txt"

با کد بالا یک فایل txt درون حافظه گوشی ایجاد می شود با نقاط حافظه

یادتان باشد به جایی ‘PHONENAME’ نام دستگاه خود را بنویسید

کد زیر نیز

package_extract_dir("system", "/system");

این دستور از پوشه سیستم فایلتون فایل به سیستم گوشی استخراج می کند

میتونید مسیر فایلها رو هم تغییر بدید با تغییر اسم ساده

دستور زیر نیز

unmount("/system");

هر پارتیشنی که مونت کرده بودید رو انمونت میکنه

دستور زیر

ui_print(" ");

هر چیزی رو که می خواهید در ریکاوری به نمایش میگذارد به عنوان نوشته

اگر بخواهید یک خط خالی باشد باید یک فاصله در آخرش بگذارید

نوشته خود را نیز بصورت زیر در وسط اضافه کنید

ui_print("Your text here");

دستور زیر

show_progress(0.200000, 5);

مطمئن می شود که عملیات بر روی صفحه نمایش به نمایس در بیاییند و 5 آخری مقدار زمان نمایش پرینتی که میگذارید

در آخر هم ***EMPTY LINE*** کدی نیست فقط به جاش یک خط خالی بگذارید

پس در اصل اسکریپ به شکل زیر است ولی برای زیبایی نوشته بهش اضافه کرذه ایم

ui_print(" ");
show_progress(1.000000, 30);
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
package_extract_dir("system", "/system");
unmount("/system");
ui_print(" ");
***EMPTY LINE***

خوب برای اضافه کردن فایل برای فلش

پوشه به مسیر زیر درست میکنیم برای فلش در مسیر سیستم

/system/app

و فایل خود را آنجا قرار می دهیم مانند زیر

/system/app/nameofapp.apk

خوب الان هد دو پوشه را بگیرید و با تظیمات زیر  در برنامه 7zip زیپ کنید

Archive: name_of_your_file
Archive Format: zip
Compression level: Store
Update mode: Add and replace files

خوب مبارک فایل قابل فلش زیپ آماده شد

در ریکاوریهای کاستوم  جدید نیازی به ساین کردن فایل نیست

ولی اگر هم خواستید با برنامه زیر می تونید راحت ساینش کنید

sign-em

موفق باشید