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

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


ارسال های توصیه شده

 

Making-Flashable-ZIPs.png

 

با سلام

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

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

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

 

 

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

فایلهای 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

موفق باشید

 

لینک در پرتال

لینک ارسال

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

×
×
  • اضافه کردن...