آموزش ساخت اسکریپ برای فلش فایل زیپ
با سلام
برنامه های زیادی برای ساخت فایل قابل فلش معرفی کرده ام
همچنین روشهای زیادی برای ساخت فایلهای زیپ قابل فلش
اما در این تایپیک نحوه ساخت دستی این فایلها و توضیحات لازم رو براتون آماده کرده ام
موارد مورد نیاز برای شروع
فایلهای adb و فست بوت نصب باشند
یه پوشه هم درست کنید به نامی که می خواهید
چند پوشه بسازید با نامهای زیر در یک شاخه
/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
خوب مبارک فایل قابل فلش زیپ آماده شد
در ریکاوریهای کاستوم جدید نیازی به ساین کردن فایل نیست
ولی اگر هم خواستید با برنامه زیر می تونید راحت ساینش کنید
موفق باشید
ممنون