यदि आप एक Android डेवलपर हैं जो /system पार्टीशन (जैसे रूट ऐप्स) के लिए इच्छित ऐप्स बनाना चाहते हैं, तो ऐसे कुछ उदाहरण हैं जहां आप अपने ऐप के लिए एक फ्लैशेबल .zip बनाना चाहेंगे। ऐसा इसलिए है ताकि ऐप फाइलें /system पार्टीशन पर ठीक से इंस्टॉल हो सकें।
फ्लैशेबल .zips के कुछ अन्य उपयोगों में शामिल हैं:
- DPI संशोधित करना
- कस्टम फॉन्ट लागू करना
- कस्टम बूट एनिमेशन लागू करना
- सिस्टम ऐप्स हटाना या जोड़ना
अपने उपयोगकर्ताओं को फाइल सिस्टम में गड़बड़ करने और मैन्युअल रूप से फाइलों को स्थानांतरित करने का निर्देश देना सभी शामिल लोगों के लिए समय की बर्बादी है - एक फ्लैशेबल .zip बनाना एक अधिक सुविधाजनक मार्ग है। यह Appual's गाइड आपको दिखाएगा कि Android के लिए फ्लैशेबल zip कैसे बनाया जाए।
हम आपको एक addon.d स्क्रिप्ट भी दिखाएंगे, ताकि कस्टम सिस्टम परिवर्तन एक डर्टी ROM फ्लैश से बच सकें - इस प्रकार, उपयोगकर्ताओं को प्रत्येक अपडेट के लिए आपका zip फिर से फ्लैश करने की आवश्यकता नहीं होगी।
आवश्यकताएं:
- एक रूट फाइल एक्सप्लोरर (MiXplorer, Solid Explorer)
- ZipSigner (ज़िप्स पर हस्ताक्षर करने के लिए) या MiX Signer प्लग-इन यदि आप MixPlorer का उपयोग करते हैं
- एक Nandroid बैकअप अत्यधिक अनुशंसित है
आपको उन सभी फाइलों को भी तैयार करना चाहिए जो zip में जाएंगी - APKs, कॉन्फिग्स, बूट एनिमेशन, आदि। शुरू करने से पहले सब कुछ व्यवस्थित कर लें, क्योंकि यह एक नाजुक प्रक्रिया है।
कस्टम Zip का टेम्पलेट
यदि आप एक टेम्पलेट zip डाउनलोड करना चाहते हैं जिसे आप अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकें, या फ्लैशेबल zip बनाने के लिए आधार के रूप में उपयोग कर सकें, तो आप उन्हें यहां प्राप्त कर सकते हैं:
- टेम्पलेट स्क्रिप्ट: डाउनलोड लिंक (बुनियादी कमांड / आपको अपने कस्टम मान जोड़ने होंगे: ऐप्स, रिंगटोन के पथ, बूट एनिमेशन...)
- टेम्पलेट ZIP: डाउनलोड लिंक (उदाहरण हमेशा एक स्पष्टीकरण को बेहतर ढंग से समझने के लिए स्वागत योग्य हैं। यह आपकी फाइलों को कैसे संरचित करना है यह समझने में मदद कर सकता है)।
टेम्पलेट कस्टम स्क्रिप्ट का उपयोग शुरू करने के लिए पर्याप्त होना चाहिए।
आपको इन मुख्य पथों को याद रखना होगा, क्योंकि ये /system पार्टीशन में वे चीजें हैं जिन्हें आपके फ्लैशेबल ज़िप आमतौर पर लक्षित करेंगे:
addon.d => डर्टी फ्लैश से बचने के लिए बैकअप स्क्रिप्ट (GApps पैकेज द्वारा उपयोग किया जाता है) app और priv-app => जोड़ने या हटाने के लिए सिस्टम ऐप्स etc => होस्ट फाइल fonts => आपका फॉन्ट media => आपका bootanimation.zip media > audio > alarms => अलार्म के लिए ध्वनियाँ media > audio > notifications => नोटिफिकेशन के लिए ध्वनियाँ media > audio > ringtones => रिंगटोन के लिए ध्वनियाँ media > audio > ui => विभिन्न चीजों के लिए ध्वनियाँ जैसे लो बैटरी, अनलॉक, कैमरा... /system की रूट build.prop फाइल के लिए
हमेशा याद रखें कि इन पथों से हटाई गई फाइलें डर्टी फ्लैश के बाद फिर से इंस्टॉल हो जाएंगी, और मैन्युअल रूप से जोड़ी गई फाइलें हटा दी जाएंगी। इसलिए आपके /system मोड्स का बैकअप बनाने वाली स्क्रिप्ट बनाना आवश्यक है।
Update-Script का उदाहरण
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/Email", "/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("ऐप्स और मोड्स इंस्टॉल कर रहे हैं, आदि"); 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("हो गया।"); 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 के लिए सबसे अच्छा रूट एक्सप्लोरर और फाइल मैनेजर है, इसमें कोई संदेह नहीं।
- सबसे पहले अपने सभी फोल्डर्स का चयन करें जो zip में शामिल होंगे, और Archive चुनें।

- अपनी आर्काइव फाइल के निर्माण की पुष्टि करें, इसे एक नाम दें और Store चुनें।

- आपका फ्लैशेबल zip बन जाएगा, इसलिए zip फाइल का चयन करें और फिर Sign करें (MiX signer प्लगइन का उपयोग करके)
- अब हस्ताक्षर त्रुटियों की जांच के लिए TestKey चुनें।
- अब आप zip फ्लैश कर सकते हैं - इसे /SDcard पर ले जाने की सलाह दी जाती है ताकि कस्टम रिकवरी से आसानी से ढूंढा जा सके।
अंतिम नोट्स
आपके फ्लैशेबल zip को क्लीन फ्लैश के बाद, या /system पार्टीशन को मिटाकर और अपने ROM का डर्टी फ्लैश करने के बाद इंस्टॉल करने की आवश्यकता है। अपडेटर-स्क्रिप्ट आपके स्क्रिप्ट में निर्दिष्ट सिस्टम फाइलों को हटा और जोड़ देगा - लेकिन addon.d स्क्रिप्ट को अकेला छोड़ दें, क्योंकि यह आपके किसी हस्तक्षेप के बिना अपना काम करेगी।
अपनी पहली इंस्टॉलेशन के बाद, यह सुनिश्चित करने के लिए /system पार्टीशन को अच्छी तरह से जांचें कि सब कुछ सही है - फाइलें हटा दी गई हैं, आदि। शायद आपके फाइल नाम में एक टाइपो था और यह नहीं हटाया गया था, ऐसा होता है।