কম্পিউটার

অ্যান্ড্রয়েড সিস্টেম মোডের জন্য কীভাবে একটি ফ্ল্যাশযোগ্য জিপ তৈরি করবেন

আপনি যদি একজন অ্যান্ড্রয়েড ডেভেলপার হন যিনি /সিস্টেম পার্টিশনের (যেমন রুট অ্যাপের মতো) অ্যাপ তৈরি করতে চান, এমন কিছু উদাহরণ রয়েছে যেখানে আপনি আপনার অ্যাপের জন্য একটি ফ্ল্যাশযোগ্য .zip তৈরি করতে চান। এটি যাতে অ্যাপ ফাইলগুলি সঠিকভাবে /সিস্টেম পার্টিশনে ইনস্টল করা যায়।

ফ্ল্যাশযোগ্য .zips-এর আরও কয়েকটি ব্যবহার অন্তর্ভুক্ত:

  • DPI পরিবর্তন করা হচ্ছে
  • একটি কাস্টম ফন্ট প্রয়োগ করা হচ্ছে
  • একটি কাস্টম বুট অ্যানিমেশন প্রয়োগ করা হচ্ছে
  • সিস্টেম অ্যাপগুলি সরানো বা যোগ করা হচ্ছে

আপনার ব্যবহারকারীদের ফাইল সিস্টেমে এলোমেলো করার নির্দেশ দেওয়া এবং ম্যানুয়ালি ফাইলগুলি সরানোর জন্য জড়িত প্রত্যেকের জন্য একটি সময় নষ্ট করে – একটি ফ্ল্যাশযোগ্য .zip তৈরি করা আরও বেশি সুবিধাজনক রুট। এই Appual-এর গাইড আপনাকে দেখাবে কিভাবে Android এর জন্য একটি ফ্ল্যাশযোগ্য জিপ তৈরি করতে হয়।

আমরা আপনাকে একটি addon.d স্ক্রিপ্টও দেখাব, যাতে কাস্টম সিস্টেম পরিবর্তনগুলি একটি নোংরা রম ফ্ল্যাশ থেকে বাঁচতে পারে – এইভাবে, ব্যবহারকারীদের প্রতিটি আপডেটের জন্য আপনার জিপকে পুনরায় ফ্ল্যাশ করতে হবে না৷

প্রয়োজনীয়তা:

  • একটি রুট ফাইল এক্সপ্লোরার (MiXplorer, সলিড এক্সপ্লোরার)
  • ZipSigner (zips সাইন করার জন্য) অথবা MiX Signer প্লাগ-ইন যদি আপনি MixPlorer ব্যবহার করেন
  • একটি Nandroid ব্যাকআপ অত্যন্ত সুপারিশ করা হয়

জিপ-এ যে সমস্ত ফাইল যাচ্ছে সেগুলিও আপনার প্রস্তুত করা উচিত - APK, কনফিগ, বুট অ্যানিমেশন ইত্যাদি। আমরা শুরু করার আগে সবকিছু গুছিয়ে রাখুন, কারণ এটি একটি সূক্ষ্ম প্রক্রিয়া।

একটি কাস্টম জিপের টেমপ্লেট

আপনি যদি একটি টেমপ্লেট জিপ ডাউনলোড করতে চান যা আপনি আপনার নিজের প্রয়োজনে কাস্টমাইজ করতে পারেন, বা একটি ফ্ল্যাশযোগ্য জিপ তৈরির জন্য একটি বেস হিসাবে ব্যবহার করতে পারেন, আপনি সেগুলি এখানে ধরতে পারেন:

  • টেমপ্লেট স্ক্রিপ্ট: লিঙ্ক ডাউনলোড করুন (মৌলিক কমান্ড / আপনাকে আপনার কাস্টম মানগুলি যোগ করতে হবে:অ্যাপস, রিংটোনের পথ, বুটনিমেশন...)
  • টেমপ্লেট জিপ: ডাউনলোড লিঙ্ক (একটি ব্যাখ্যা আরও ভালভাবে বোঝার জন্য উদাহরণগুলি সর্বদা স্বাগত জানাই। এটি আপনার ফাইলগুলিকে কীভাবে গঠন করতে হয় তা বুঝতে সাহায্য করতে পারে)।

একটি কাস্টম স্ক্রিপ্ট ব্যবহার শুরু করার জন্য টেমপ্লেটটি যথেষ্ট হওয়া উচিত।

আপনাকে এই প্রধান পথগুলি মনে রাখতে হবে, কারণ এইগুলি /সিস্টেম পার্টিশনের জিনিস যা আপনার ফ্ল্যাশযোগ্য জিপগুলি সাধারণত লক্ষ্য করবে:

addon.d => backup script to survive a dirty flash (used by GApps package for instance)
app and priv-app => system apps to add or remove
etc => host file
fonts => your font
media => your bootanimation.zip
media > audio > alarms => sounds for alarms
media > audio > notifications => sounds for notifications
media > audio > ringtones => sounds for ringtones
media > audio > ui => sounds for various things such as low battery, unlock, camera,..
root of /system for build.prop file

সর্বদা মনে রাখবেন যে এই পথগুলি থেকে সরানো ফাইলগুলি একটি নোংরা ফ্ল্যাশের পরে পুনরায় ইনস্টল করা হবে এবং ম্যানুয়ালি যুক্ত করা ফাইলগুলি সরানো হবে৷ এই কারণেই একটি স্ক্রিপ্ট তৈরি করা প্রয়োজন যা আপনার /সিস্টেম মোডগুলির একটি ব্যাকআপ করে।

একটি আপডেট-স্ক্রিপ্টের উদাহরণ

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("***Deleting bloatwares***");
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("Installing apps and mods, etc");
show_progress(8.800000, 5);
package_extract_dir("system", "/system/");
ui_print("***Fixing permissions***");
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("Done.");
ui_print("Ready to reboot.");

দ্রষ্টব্য: 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 the file permissions.

set_perm(0, 0, 0755, "/system/addon.d/99-dirty.sh");
..............
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");

এরপরে আপনি পরিবর্তিত পার্টিশন আনমাউন্ট করবেন।

run_program("/sbin/busybox", "umount", "/data");
run_program("/sbin/busybox", "umount", "/system");

Addon.D স্ক্রিপ্টের উদাহরণ

#!/sbin/sh
# 
# /system/addon.d/99-dirty.sh
# /system is formatted and reinstalled, then thes files are restored.
#

. /tmp/backuptool.functions

list_files() {
cat <<EOF
addon.d/99-dirty.sh
fonts/Roboto-Regular.ttf
media/audio/ringtones/PlasticRing.ogg
priv-app/BBS.apk
priv-app/Gsam.apk
priv-app/microG.apk
priv-app/PhoneSky.apk
priv-app/V4A-Magisk.apk
etc/gps.conf
etc/hosts
EOF
}

case "$1" in
backup)
list_files | while read FILE DUMMY; do
backup_file $S/"$FILE"
done
;;
restore)
list_files | while read FILE REPLACEMENT; do
R=""
[ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
[ -f "$C/$S/$FILE" ] && restore_file $S/"$FILE" "$R"
done
rm -rf /system/app/adaway.apk
rm -rf /system/app/AdAway
rm -rf /system/app/BasicDreams
rm -rf /system/app/BookmarkProvider
rm -rf /system/app/Calendar
rm -rf /system/app/CalendarWidget
rm -rf /system/app/CMFileManager
rm -rf /system/app/CMWallpapers
rm -rf /system/app/DeskClock
rm -rf /system/app/Eleven
rm -rf /system/app/Email
rm -rf /system/app/ExactCalculator
rm -rf /system/app/Exchange2
rm -rf /system/app/Gello
rm -rf /system/app/HexoLibre
rm -rf /system/app/Jelly
rm -rf /system/app/LatinIME
rm -rf /system/app/LiveWallpapersPicker
rm -rf /system/app/LockClock
rm -rf /system/app/messaging
rm -rf /system/app/MiXplorer
rm -rf /system/app/NexusLauncher
rm -rf /system/app/Nova.apk
rm -rf /system/app/Phonograph
rm -rf /system/app/PhotoTable
rm -rf /system/app/PicoTts
rm -rf /system/app/PicoTTS
rm -rf /system/app/ResurrectionStats
rm -rf /system/app/SoundRecorder
rm -rf /system/app/Terminal
rm -rf /system/app/TugaBrowser
rm -rf /system/app/Wallpaper
rm -rf /system/app/WallpaperPickerGoogle
rm -rf /system/priv-app/AudioFX
rm -rf /system/priv-app/Chrome
rm -rf /system/priv-app/Gallery2
rm -rf /system/priv-app/LatinIME
rm -rf /system/priv-app/MusicFX
rm -rf /system/priv-app/OnePlusCamera
rm -rf /system/priv-app/OnePlusGallery
rm -rf /system/priv-app/OnePlusMusic
rm -rf /system/priv-app/Recorder
rm -rf /system/priv-app/Screencast
rm -rf /system/priv-app/SnapdragonCamera
rm -rf /system/priv-app/SnapdragonGallery
rm -rf /system/priv-app/Snap
rm -rf /system/priv-app/Trebuchet
rm -rf /system/priv-app/WeatherManagerService
rm -rf /system/priv-app/WeatherProvider
rm -rf /system/priv-app/Tag
;;
pre-backup)
# Stub
;;
post-backup)
# Stub
;;
pre-restore)
# Stub
;;
post-restore)
# Stub
;;
esac

নোংরা ফ্ল্যাশের পরে আপনি যে ফাইলগুলি রাখতে চান তার একটি তালিকা তৈরি করুন৷

list_files() {
cat <<EOF
addon.d/99-dirty.sh
fonts/Roboto-Regular.ttf
media/audio/ringtones/PlasticRing.ogg
priv-app/BBS.apk
priv-app/Gsam.apk
priv-app/microG.apk
priv-app/PhoneSky.apk
priv-app/V4A-Magisk.apk
etc/gps.conf
etc/hosts
EOF
}

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
;;

কিভাবে একটি ফ্ল্যাশযোগ্য অ্যান্ড্রয়েড জিপ তৈরি করবেন

আমরা এটির জন্য MiXplorer ব্যবহার করব, কারণ এটি অ্যান্ড্রয়েডের জন্য সেরা রুট এক্সপ্লোরার এবং ফাইল ম্যানেজার।

  1. প্রথমে আপনার সমস্ত ফোল্ডার নির্বাচন করুন যেগুলি জিপে অন্তর্ভুক্ত করা হবে, এবং সংরক্ষণাগার নির্বাচন করুন৷
    অ্যান্ড্রয়েড সিস্টেম মোডের জন্য কীভাবে একটি ফ্ল্যাশযোগ্য জিপ তৈরি করবেন
  2. আপনার সংরক্ষণাগার ফাইল তৈরির বিষয়টি নিশ্চিত করুন, এটিকে একটি নাম দিন এবং স্টোর নির্বাচন করুন৷
    অ্যান্ড্রয়েড সিস্টেম মোডের জন্য কীভাবে একটি ফ্ল্যাশযোগ্য জিপ তৈরি করবেন
  3. আপনার ফ্ল্যাশযোগ্য জিপ তৈরি করা হবে, তাই জিপ ফাইলটি নির্বাচন করুন এবং তারপরে সাইন ইন করুন (MIX সাইনার প্লাগইন ব্যবহার করে)
  4. এখন TestKey নির্বাচন করুন শুধুমাত্র স্বাক্ষর ত্রুটির জন্য এটি পরীক্ষা করতে৷
  5. আপনি এখন জিপটি ফ্ল্যাশ করতে পারেন – কাস্টম পুনরুদ্ধার থেকে সহজেই এটি খুঁজে পেতে এটিকে /SDcard এ সরানোর পরামর্শ দিন৷

চূড়ান্ত নোট

আপনার ফ্ল্যাশযোগ্য জিপ একটি পরিষ্কার ফ্ল্যাশের পরে, বা /সিস্টেম পার্টিশনটি মুছে ফেলার পরে এবং আপনার রমের একটি নোংরা ফ্ল্যাশ করার পরে ইনস্টল করা দরকার। আপডেটার-স্ক্রিপ্ট আপনার স্ক্রিপ্টে নির্দিষ্ট করা সিস্টেম ফাইলগুলিকে সরিয়ে দেবে এবং যুক্ত করবে – তবে addon.d স্ক্রিপ্টটিকে একা ছেড়ে দিন, কারণ এটি আপনার কোনও হস্তক্ষেপ ছাড়াই তার কাজ করবে৷

আপনার প্রথম ইনস্টলেশনের পরে, সবকিছু ঠিক আছে কিনা তা নিশ্চিত করতে /সিস্টেম পার্টিশনটি ভালভাবে পরীক্ষা করুন – ফাইলগুলি সরানো হয়েছে, ইত্যাদি। হয়তো আপনার ফাইলের নামে একটি টাইপো ছিল এবং এটি সরানো হয়নি, এটি ঘটে।


  1. পিসি বা টিভির জন্য স্পিকার হিসাবে অ্যান্ড্রয়েড ফোন কীভাবে ব্যবহার করবেন

  2. Android এর জন্য রোডরানার ইমেল কিভাবে সেটআপ করবেন

  3. অ্যান্ড্রয়েড ফোনে ফাইল আনজিপ করার উপায়

  4. কিভাবে অ্যান্ড্রয়েডে টেলিগ্রাম অ্যাকাউন্ট তৈরি করবেন