B
bobwooton
Ambitioniertes Mitglied
- 22
Ich hab mir ja schon seit längerem eine flashbare ZIP für TWRP erstellt die nach einer Neuinstallation die Klingeltöne und Benachrichtigungstöne austauscht ( also den Werksmüll löscht und nur meine rein kopiert ) und die hosts Datei austauscht. Das klappt alles auch soweit schon seit meinem S6 vor Jahren.
Nun wollte ich auch die aktive Wallpaper schon von dem Script austauschen lassen. Was im Grunde auch läuft. Soll heißen die Dateien werden rein kopiert und Rechte und Besitzer gesetzt. Nur nach einem Start wird im besten Fall keine Wallpaper angezeigt und im schlechtesten Fall startet Android gar nicht mehr ( oder besser gesagt stürtzt beim Start der UI ab ) bis man im TWRP Terminal die Dateien löscht für den nächsten Start.
Hier mal das Script ( was übersehe ich da das es nicht klappt... der Teil mit der Wallpaper ist im Moment im Script deaktiviert ):
In der "wallpaper.zip" liegen :
/wallpaper_lock_images/wallpaper_lock
/wallpaper_info.xml
/wallpaper
Obwohl Besitzer/Gruppe und Rechte der Dateien genau so gesetzt sind wie es Android selber auch macht scheint es nicht drauf zugreifen zu können. Einen neuen Lockscreenhintergrund kann Android z.b. nämlich erst dann wieder selber abspeichern wenn ich den reinkopierten Ordner "wallpaper_lock_images" per Hand vorher lösche und das System ihn dann selber neu anlegt.
Nun wollte ich auch die aktive Wallpaper schon von dem Script austauschen lassen. Was im Grunde auch läuft. Soll heißen die Dateien werden rein kopiert und Rechte und Besitzer gesetzt. Nur nach einem Start wird im besten Fall keine Wallpaper angezeigt und im schlechtesten Fall startet Android gar nicht mehr ( oder besser gesagt stürtzt beim Start der UI ab ) bis man im TWRP Terminal die Dateien löscht für den nächsten Start.
Hier mal das Script ( was übersehe ich da das es nicht klappt... der Teil mit der Wallpaper ist im Moment im Script deaktiviert ):
ui_print(" ");
ui_print("-------------------------------------");
ui_print(" ");
ui_print(" personalisation Script 1o.1o.2o2o ");
ui_print(" ");
ui_print("Install hosts, ringtones and notification");
ui_print(" ");
ui_print("-------------------------------------");
sleep(1);
###########################################################
ui_print("- Set busybox up and running ");
package_extract_file("META-INF/com/miui/busybox", "/tmp/busybox");
run_program("/sbin/chmod", "777", "/tmp/busybox");
###########################################################
ui_print ("- Mounting Partitions");
package_extract_file("META-INF/com/miui/mount.sh", "/tmp/mount.sh");
set_perm(0, 0, 0777, "/tmp/mount.sh");
run_program("/tmp/mount.sh", "");
delete("/tmp/mount.sh");
sleep(3);
###########################################################
ui_print("- Delete old files");
run_program("/tmp/busybox", "rm", "-f", "/system/etc/hosts");
run_program("/tmp/busybox", "rm", "-f", "/system_root/system/etc/hosts");
run_program("/tmp/busybox", "rm", "-f", "/system/media/audio/notifications/*");
run_program("/tmp/busybox", "rm", "-f", "/system_root/system/media/audio/notifications/*");
run_program("/tmp/busybox", "rm", "-f", "/system/media/audio/ringtones/*");
run_program("/tmp/busybox", "rm", "-f", "/system_root/system/media/audio/ringtones/*");
delete("/system/etc/hosts");
delete("/system_root/system/etc/hosts");
delete_recursive("/system/media/audio/notifications/");
delete_recursive("/system/media/audio/ringtones/");
delete_recursive("/system_root/system/media/audio/notifications/");
delete_recursive("/system_root/system/media/audio/ringtones/");
sleep(1);
###########################################################
ui_print("- copy hosts");
package_extract_file("hosts", "/system/etc/hosts");
package_extract_file("hosts", "/system_root/system/etc/hosts");
run_program("/sbin/chmod", "644", "/system/etc/hosts");
run_program("/sbin/chmod", "644", "/system_root/system/etc/hosts");
ui_print("- done");
sleep(1);
ui_print("- copy notifications");
package_extract_dir("notifications", "/system/media/audio/notifications");
package_extract_dir("notifications", "/system_root/system/media/audio/notifications");
run_program("/sbin/chmod", "644", "/system/media/audio/notifications/*");
run_program("/sbin/chmod", "644", "/system_root/system/media/audio/notifications/*");
ui_print("- done");
sleep(1);
ui_print("- copy ringtones");
package_extract_dir("ringtones", "/system/media/audio/ringtones");
package_extract_dir("ringtones", "/system_root/system/media/audio/ringtones");
run_program("/sbin/chmod", "644", "/system/media/audio/ringtones/*");
run_program("/sbin/chmod", "644", "/system_root/system/media/audio/ringtones/*");
ui_print("- done");
sleep(1);
###########################################################
#ui_print("- delete wallpaper");
#run_program("/tmp/busybox", "rm", "-rf", "/data/system/users/0/wallpaper*");
#run_program("/tmp/busybox", "rm", "-rf", "/system_root/data/system/users/0/wallpaper*");
#sleep(1);
#ui_print("- Extracting extracting wallpaper");
#package_extract_file("wallpaper.zip", "/tmp/wallpaper.zip");
#run_program("/tmp/busybox", "unzip", "/tmp/wallpaper.zip", "-d", "/data/system/users/0");
#run_program("/tmp/busybox", "unzip", "/tmp/wallpaper.zip", "-d", "/system_root/data/system/users/0");
#run_program("/tmp/busybox", "rm", "-f", "/tmp/wallpaper.zip");
#sleep(1);
#run_program("/sbin/chmod", "600", "/data/system/users/0/wallpaper");
#run_program("/sbin/chmod", "600", "/system_root/data/system/users/0/wallpaper");
#run_program("/sbin/chmod", "600", "/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chmod", "600", "/system_root/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chmod", "771", "/data/system/users/0/wallpaper_lock_images");
#run_program("/sbin/chmod", "771", "/system_root/data/system/users/0/wallpaper_lock_images");
#run_program("/sbin/chmod", "600", "/data/system/users/0/wallpaper_lock_images/wallpaper_lock");
#run_program("/sbin/chmod", "600", "/system_root/data/system/users/0/wallpaper_lock_images/wallpaper_lock");
#run_program("/sbin/chown", "system:system", "/data/system/users/0/wallpaper");
#run_program("/sbin/chown", "system:system", "/system_root/data/system/users/0/wallpaper");
#run_program("/sbin/chown", "system:system", "/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chown", "system:system", "/system_root/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chown", "-R", "system:system", "/data/system/users/0/wallpaper_lock_images");
#run_program("/sbin/chown", "-R", "system:system", "/system_root/data/system/users/0/wallpaper_lock_images");
#ui_print("- done");
#sleep(1);
###########################################################
ui_print("- UnMounting filesystem");
run_program("/tmp/busybox", "umount", "/system");
run_program("/tmp/busybox", "umount", "/system_root");
unmount("/system");
unmount("/system_root");
sleep(3);
ui_print("- Done.... Ready to reboot");
ui_print("-------------------------------------");
ui_print(" ");
ui_print("-------------------------------------");
ui_print(" ");
ui_print(" personalisation Script 1o.1o.2o2o ");
ui_print(" ");
ui_print("Install hosts, ringtones and notification");
ui_print(" ");
ui_print("-------------------------------------");
sleep(1);
###########################################################
ui_print("- Set busybox up and running ");
package_extract_file("META-INF/com/miui/busybox", "/tmp/busybox");
run_program("/sbin/chmod", "777", "/tmp/busybox");
###########################################################
ui_print ("- Mounting Partitions");
package_extract_file("META-INF/com/miui/mount.sh", "/tmp/mount.sh");
set_perm(0, 0, 0777, "/tmp/mount.sh");
run_program("/tmp/mount.sh", "");
delete("/tmp/mount.sh");
sleep(3);
###########################################################
ui_print("- Delete old files");
run_program("/tmp/busybox", "rm", "-f", "/system/etc/hosts");
run_program("/tmp/busybox", "rm", "-f", "/system_root/system/etc/hosts");
run_program("/tmp/busybox", "rm", "-f", "/system/media/audio/notifications/*");
run_program("/tmp/busybox", "rm", "-f", "/system_root/system/media/audio/notifications/*");
run_program("/tmp/busybox", "rm", "-f", "/system/media/audio/ringtones/*");
run_program("/tmp/busybox", "rm", "-f", "/system_root/system/media/audio/ringtones/*");
delete("/system/etc/hosts");
delete("/system_root/system/etc/hosts");
delete_recursive("/system/media/audio/notifications/");
delete_recursive("/system/media/audio/ringtones/");
delete_recursive("/system_root/system/media/audio/notifications/");
delete_recursive("/system_root/system/media/audio/ringtones/");
sleep(1);
###########################################################
ui_print("- copy hosts");
package_extract_file("hosts", "/system/etc/hosts");
package_extract_file("hosts", "/system_root/system/etc/hosts");
run_program("/sbin/chmod", "644", "/system/etc/hosts");
run_program("/sbin/chmod", "644", "/system_root/system/etc/hosts");
ui_print("- done");
sleep(1);
ui_print("- copy notifications");
package_extract_dir("notifications", "/system/media/audio/notifications");
package_extract_dir("notifications", "/system_root/system/media/audio/notifications");
run_program("/sbin/chmod", "644", "/system/media/audio/notifications/*");
run_program("/sbin/chmod", "644", "/system_root/system/media/audio/notifications/*");
ui_print("- done");
sleep(1);
ui_print("- copy ringtones");
package_extract_dir("ringtones", "/system/media/audio/ringtones");
package_extract_dir("ringtones", "/system_root/system/media/audio/ringtones");
run_program("/sbin/chmod", "644", "/system/media/audio/ringtones/*");
run_program("/sbin/chmod", "644", "/system_root/system/media/audio/ringtones/*");
ui_print("- done");
sleep(1);
###########################################################
#ui_print("- delete wallpaper");
#run_program("/tmp/busybox", "rm", "-rf", "/data/system/users/0/wallpaper*");
#run_program("/tmp/busybox", "rm", "-rf", "/system_root/data/system/users/0/wallpaper*");
#sleep(1);
#ui_print("- Extracting extracting wallpaper");
#package_extract_file("wallpaper.zip", "/tmp/wallpaper.zip");
#run_program("/tmp/busybox", "unzip", "/tmp/wallpaper.zip", "-d", "/data/system/users/0");
#run_program("/tmp/busybox", "unzip", "/tmp/wallpaper.zip", "-d", "/system_root/data/system/users/0");
#run_program("/tmp/busybox", "rm", "-f", "/tmp/wallpaper.zip");
#sleep(1);
#run_program("/sbin/chmod", "600", "/data/system/users/0/wallpaper");
#run_program("/sbin/chmod", "600", "/system_root/data/system/users/0/wallpaper");
#run_program("/sbin/chmod", "600", "/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chmod", "600", "/system_root/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chmod", "771", "/data/system/users/0/wallpaper_lock_images");
#run_program("/sbin/chmod", "771", "/system_root/data/system/users/0/wallpaper_lock_images");
#run_program("/sbin/chmod", "600", "/data/system/users/0/wallpaper_lock_images/wallpaper_lock");
#run_program("/sbin/chmod", "600", "/system_root/data/system/users/0/wallpaper_lock_images/wallpaper_lock");
#run_program("/sbin/chown", "system:system", "/data/system/users/0/wallpaper");
#run_program("/sbin/chown", "system:system", "/system_root/data/system/users/0/wallpaper");
#run_program("/sbin/chown", "system:system", "/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chown", "system:system", "/system_root/data/system/users/0/wallpaper_info.xml");
#run_program("/sbin/chown", "-R", "system:system", "/data/system/users/0/wallpaper_lock_images");
#run_program("/sbin/chown", "-R", "system:system", "/system_root/data/system/users/0/wallpaper_lock_images");
#ui_print("- done");
#sleep(1);
###########################################################
ui_print("- UnMounting filesystem");
run_program("/tmp/busybox", "umount", "/system");
run_program("/tmp/busybox", "umount", "/system_root");
unmount("/system");
unmount("/system_root");
sleep(3);
ui_print("- Done.... Ready to reboot");
ui_print("-------------------------------------");
ui_print(" ");
In der "wallpaper.zip" liegen :
/wallpaper_lock_images/wallpaper_lock
/wallpaper_info.xml
/wallpaper
Obwohl Besitzer/Gruppe und Rechte der Dateien genau so gesetzt sind wie es Android selber auch macht scheint es nicht drauf zugreifen zu können. Einen neuen Lockscreenhintergrund kann Android z.b. nämlich erst dann wieder selber abspeichern wenn ich den reinkopierten Ordner "wallpaper_lock_images" per Hand vorher lösche und das System ihn dann selber neu anlegt.
Zuletzt bearbeitet: