Nếu bạn là nhà phát triển Android muốn tạo ứng dụng dành cho / phân vùng hệ thống (chẳng hạn như ứng dụng gốc), có một số trường hợp nhất định bạn sẽ muốn tạo .zip có thể chạy nhanh cho ứng dụng của mình. Điều này để các tệp ứng dụng có thể được cài đặt đúng cách vào phân vùng / hệ thống.
Một số cách sử dụng khác của .zips có thể nhấp nháy bao gồm:
- Đang sửa đổi DPI
- Áp dụng phông chữ tùy chỉnh
- Áp dụng hoạt ảnh khởi động tùy chỉnh
- Xóa hoặc thêm các ứng dụng hệ thống
Hướng dẫn người dùng của bạn lộn xộn trong hệ thống tệp và di chuyển tệp theo cách thủ công là một sự lãng phí thời gian cho tất cả những người có liên quan - tạo .zip có thể nhấp nháy là một cách thuận tiện hơn nhiều. Hướng dẫn của Appual này sẽ chỉ cho bạn cách tạo một tệp zip có thể chạy được cho Android.
Chúng tôi cũng sẽ hiển thị cho bạn một tập lệnh addon.d, để các thay đổi hệ thống tùy chỉnh sẽ tồn tại trong flash ROM bẩn - do đó, người dùng sẽ không cần flash lại zip của bạn cho mỗi lần cập nhật.
Yêu cầu:
- Trình khám phá tệp gốc (MiXplorer, Solid Explorer)
- ZipSigner (để ký zip) hoặc trình cắm MiX Signer nếu bạn sử dụng MixPlorer
- Bản sao lưu Nandroid rất được khuyến khích
Bạn cũng nên chuẩn bị tất cả các tệp sẽ được chuyển vào zip - APK, cấu hình, hoạt ảnh khởi động, v.v. Hãy sắp xếp mọi thứ trước khi chúng ta bắt đầu, vì đây là một quá trình phức tạp.
Mẫu Zip tùy chỉnh
Nếu bạn muốn tải xuống một tệp zip mẫu mà bạn có thể tùy chỉnh theo nhu cầu của riêng mình hoặc sử dụng nó làm cơ sở để tạo một tệp zip có thể nhấp nháy, bạn có thể lấy chúng tại đây:
- TEMPLATE SCRIPT:TẢI XUỐNG LIÊN KẾT (các lệnh cơ bản / bạn phải thêm các giá trị tùy chỉnh của mình:ứng dụng, đường dẫn nhạc chuông, bootanimation…)
- TEMPLATE ZIP:DOWNLOAD LINK (luôn hoan nghênh các ví dụ để hiểu rõ hơn về phần giải thích. Nó có thể giúp bạn hiểu cách cấu trúc tệp của bạn).
Mẫu phải đủ để bắt đầu sử dụng tập lệnh tùy chỉnh.
Bạn sẽ cần nhớ những đường dẫn chính này, bởi vì đây là những thứ trong phân vùng / hệ thống mà các tệp nén có thể nhấp nháy của bạn thường sẽ nhắm mục tiêu:
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
Luôn nhớ rằng các tệp bị xóa khỏi các đường dẫn này sẽ được cài đặt lại sau khi có flash bẩn và các tệp đã được thêm theo cách thủ công sẽ bị xóa. Đây là lý do tại sao cần tạo một tập lệnh tạo bản sao lưu các mod / hệ thống của bạn.
Ví dụ về Tập lệnh cập nhật
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.");
Lưu ý:ui_print (”“); là dành cho tin nhắn văn bản. Những dòng này không có tác dụng gì.
Bạn phải luôn ngắt kết nối và gắn kết lại phân vùng trước khi làm việc với nó.
run_program("/sbin/busybox", "umount", "/system"); run_program("/sbin/busybox", "mount", "/system");
Để xóa các thành phần / ứng dụng hệ thống, hãy đặt dấu phẩy ở cuối mỗi dòng, ngoại trừ dòng cuối cùng.
delete_recursive( "/system/app/adaway.apk", "/system/app/AdAway", ........................ "/system/priv-app/WeatherProvider", "/system/priv-app/Tag" );
Giải nén các tệp hệ thống bạn muốn cài đặt.
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");
Làm điều tương tự nhưng đối với thư mục / data. Vì vậy, bạn sẽ gắn kết phân vùng, trích xuất dữ liệu bạn muốn thêm và đặt quyền.
run_program("/sbin/busybox", "mount", "/data"); package_extract_dir("data", "/data/"); set_perm(0, 0, 0755, "/data/local/afscript.sh");
Tiếp theo, bạn sẽ ngắt kết nối các phân vùng đã sửa đổi.
run_program("/sbin/busybox", "umount", "/data"); run_program("/sbin/busybox", "umount", "/system");
Ví dụ về tập lệnh 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
Tạo danh sách các tệp bạn muốn giữ lại sau một lần flash bẩn.
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 các tệp bạn không muốn được cài đặt sau flash bẩn (các tệp hệ thống bạn đã xóa trong bản sửa đổi của mình sẽ được cài đặt lại từ flash bẩn)
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 ;;
Cách tạo Android Zip có thể tháo rời
Chúng tôi sẽ sử dụng MiXplorer cho việc này, vì nó là trình khám phá gốc và trình quản lý tệp tốt nhất cho Android, hãy chú ý.
- Trước tiên, hãy chọn tất cả các thư mục của bạn sẽ được đưa vào zip và chọn Lưu trữ.
- Xác nhận việc tạo tệp lưu trữ của bạn, đặt tên cho tệp và chọn Lưu trữ.
- Zip có thể nhấp nháy của bạn sẽ được tạo, vì vậy hãy chọn tệp zip và sau đó Ký tên (sử dụng plugin MiX signer)
- Bây giờ, hãy chọn TestKey để chỉ kiểm tra lỗi chữ ký.
- Giờ đây, bạn có thể flash zip - khuyên bạn nên chuyển nó sang / SDcard để dễ dàng tìm thấy nó từ khôi phục tùy chỉnh.
Ghi chú cuối cùng
Zip có thể nhấp nháy của bạn cần được cài đặt sau khi flash sạch hoặc sau khi xóa phân vùng / hệ thống và thực hiện flash ROM của bạn. Trình cập nhật-script sẽ xóa và thêm các tệp hệ thống mà bạn đã chỉ định trong tập lệnh của mình - nhưng hãy để tập lệnh addon.d một mình vì nó sẽ thực hiện công việc của mình mà không có bất kỳ sự can thiệp nào từ bạn.
Sau lần cài đặt đầu tiên của bạn, hãy kiểm tra kỹ lưỡng phân vùng / system để đảm bảo mọi thứ đều chính xác - các tệp đã bị xóa, v.v. Có thể bạn đã mắc lỗi đánh máy trong tên tệp và nó chưa được xóa, điều này sẽ xảy ra.