How to make Migrate app backups compatible with our rom(and other AB roms) - Xiaomi Mi 9 SE Guides, News, & Discussion

EDIT: This guide is now not necessary, there is a mod of the app for system_root phones, and probably soon there will be official support.
Modded app (install on the rom before making backups):
https://forum.xda-developers.com/re...igrate-root-fixed-version-unofficial-t3944054
This guide is still valid, for those who have already done the backups, but they are not working.
How to make Migrate app backups compatible with our rom(and other AB roms)
I am not affiliated in anyway to this app. This is only a guide for those who want to use it to switch their apps between roms.
You are responsible if you miss anything and screw up your rom. I will not be offering any extra support.
Make sure to read and understand everything carefully before you proceed.
App:
https://play.google.com/store/apps/details?id=balti.migrate
1. Open the zip with winrar or 7zip
2. Inside the folder META-INF\com\google\android, extract the file updater-script
3. Open it with notepad/notepad++ or another text editor(if you know what you are doing)
4. Find these lines at the beginning:
Code:
ui_print("Mounting partition...");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
ifelse(is_mounted("/data") && is_mounted("/system"), ui_print(""), ui_print("Mounting using self busybox...") && run_program("/tmp/mount_using_self_busybox.sh", "m"));
ifelse(is_mounted("/data") && is_mounted("/system"), ui_print("Mounted!"), abort("Mount failed! Exiting..."));
package_extract_file("prep.sh", "/tmp/prep.sh");
5. Change them to:
Code:
ui_print("Mounting partition...");
run_program("/sbin/busybox", "mount", "/system_root");
run_program("/sbin/busybox", "mount", "/data");
ifelse(is_mounted("/data") && is_mounted("/system_root"), ui_print(""), ui_print("Mounting using self busybox...") && run_program("/tmp/mount_using_self_busybox.sh", "m"));
ifelse(is_mounted("/data") && is_mounted("/system_root"), ui_print("Mounted!"), abort("Mount failed! Exiting..."));
package_extract_file("prep.sh", "/tmp/prep.sh");
6. Find these lines at the end:
Code:
ui_print(" ");
ui_print("Unmounting partitions...");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/data");
ifelse(is_mounted("/data") && is_mounted("/system"), ui_print(""), run_program("/tmp/mount_using_self_busybox.sh", "u"));
ui_print(" ");
ui_print("Finished!");
7. Change them to:
Code:
ui_print(" ");
ui_print("Unmounting partitions...");
run_program("/sbin/busybox", "umount", "/system_root");
run_program("/sbin/busybox", "umount", "/data");
ifelse(is_mounted("/data") && is_mounted("/system_root"), ui_print(""), run_program("/tmp/mount_using_self_busybox.sh", "u"));
ui_print(" ");
ui_print("Finished!");
8. Repack the file to the original position
9. Redo all of this for every migrate zip you have

Just a quick question. I don't have Mi 9 SE. So I rely on inputs from users so that I can issue a fix.
After changing this, does the helper app work as expected? Because someone told me that helper can't seem to find the migrate cache directory.
Thanks for the information.

For me it worked. If you need to make tests, contact me(I am on beta channel for your app in play store too)

redispade said:
For me it worked. If you need to make tests, contact me(I am on beta channel for your app in play store too)
Click to expand...
Click to collapse
Is it still working for you ? I tried these steps and I could not get it working. I am thinking to replace "system" as "system_root" in the updater script.
basically replace this:
Code:
ui_print("Unpacking helper");
package_extract_dir("system", "/system");
package_extract_file("helper_unpacking_script.sh", "/tmp/helper_unpacking_script.sh");
set_perm_recursive(0, 0, 0777, 0777, "/tmp/helper_unpacking_script.sh");
run_program("/tmp/helper_unpacking_script.sh", "/system/app/helper", "12");
set_perm_recursive(0, 0, 0777, 0777, "/system/app/MigrateHelper");
with this:
Code:
ui_print("Unpacking helper");
package_extract_dir("system_root", "/system_root");
package_extract_file("helper_unpacking_script.sh", "/tmp/helper_unpacking_script.sh");
set_perm_recursive(0, 0, 0777, 0777, "/tmp/helper_unpacking_script.sh");
run_program("/tmp/helper_unpacking_script.sh", "/system_root/app/helper", "12");
set_perm_recursive(0, 0, 0777, 0777, "/system_root/app/MigrateHelper");

The part you are modifying is for the helper apk. If it gives errors, you have done something wrong. If you want to replace that part, replace it with /system_root/system
Sent from my Mi 9 SE using Tapatalk

redispade said:
The part you are modifying is for the helper apk. If it gives errors, you have done something wrong. If you want to replace that part, replace it with /system_root/system
Sent from my Mi 9 SE using Tapatalk
Click to expand...
Click to collapse
Thanks for the quick response. I tried your changes only once again before doing my change and it somehow worked.

Related

Can't install own flashable .zip, what am I doing wrong?

Hi! I followed (step by step) this Guide to make a flashable zip of some wallpapers for my phones: http://forum.xda-developers.com/showthread.php?t=1545165
But when I try to install it, CWM just says "installation aborted"...I was trying to make a .zip for some wallpapers but the folder name was too long (system/etc/customization/bla bla bla bla)and I tought to start by installing a small app (A QR code reader). This is my updater script:
ui_print(" QR droid ");
ui_print(" test zip ");
ui_print("cachanilla86");
mount("MTD", "system", "/system");
show_progress(0.100000, 40);
ui_print(" almost done ");
show_progress(0.100000, 40);
package_extract_dir("system", "/system/app");
unmount("/system/");
show_progress(1.000000, 10);
ui_print(" finished,now reboot ")
--BLANK LINE--
And in the main folder was "system/app" and inside of app the apk itself.
What's wrong here? I don't get it...its because i'm signing the zip with an older version of APK tool?
Thanks for reading.
just download sample.zip here http://forum.xda-developers.com/showthread.php?t=1721680
and drag&drop your files in the zip to: example /system/etc/customization/blah3x..
Try this bro.
mount("yaffs2", "MTD", "system", "/system");
ui_print("Installing");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/lib/libgsl.so"); just an example
unmount("/system");
You're signing the zip? What for? It doesn't need to be signed, just have the right update-binary.
Thanks fellas, I'll try again tonight

[Q]Help with Updater-Script Commands

Hey guys... i'm trying to make a zip file that installs all the apps that i want and restore theirs data. the problem is that i need to mount internal SDcard i can't find the way. i have only found commands for other phones, and i don't know if this works for this phone.
so far i have this:
Code:
ui_print("-------------------------------------");
show_progress(0.500000, 0);
ui_print("");
ui_print("Mounting Partitions");
ui_print("");
run_program("/sbin/busybox", "mount", "/data");
ui_print("Pack de APKs, by Pelpa87");
ui_print("");
ui_print("-------------------------------------");
delete("");
delete("");
ui_print("");
ui_print("Installing");
package_extract_dir("data", "/data");
ui_print("");
ui_print("Setting Permisions");
set_perm(0, 0, 0644, "/system/app/XXXX.apk");
ui_print("");
ui_print("Unmounting Partitions");
unmount("/data");
ui_print("");
ui_print("Finish!");
ui_print("Enjoy :)");
ui_print("");
ui_print("-------------------------------------");
show_progress(1.000000, 0);
i want something like this: run_program("/sbin/busybox", "mount", "/data"); for mounting /Sdcard(0) but i can't find it.
EDIT: OK, in fact, what i really need is wich block and wich is the mounting point of the internal SD...i can't find it anywhere...in systems it's says its /dev/fuse but that won't work in CWR.
excuse my noobness
i'm trying to learn
Titanium backup does this already. You are re-inventing the wheel, well the apps and data part, not sure about the rooting part, use mobile odin to do the flashing?
Kangburra said:
Titanium backup does this already. You are re-inventing the wheel, well the apps and data part, not sure about the rooting part, use mobile odin to do the flashing?
Click to expand...
Click to collapse
yeah, i know that. i'm not trying to re-invent nothing at all...i'm just want to do something else, but i need this first...
Could try XDA.com Android hacking .
jje

[solved] personal update.zip status 7

i tried to create an update.zip to install my apps when i flash a rom.
first i got a status 2 error -- solved it. (dont remember how)
then got a status 6 error -- solved it by changing EOL to unix based
now i am getting status 7 error
this is my updater-script
show_progress(0.1, 0);
ui_print("DATA FLASH");
mount("MTD", "userdata", "/data");
package_extract_dir("data", "/data");
set_perm_recursive(0, 0, 0755, 0644, "data/app");
show_progress(0.1, 10);
unmount("/userdata");
is it because the commands are wrong? (i copied them directly)
if so how to modify
Phone- Xperia mini pro sk17i
EDIT: tying other mount commands now, will update - run_program("/sbin/busybox", "mount", "/data");
IT WORKED:victory:
sorry for creating a dud-thread

Help flashlable zip

Please help ...
I need to create a zip file flashlable
system / app
SystemUI.apk
Phone.apk
HtcDialer.apk
and another app
..............
/ framework
com.htc.resources.apk
framework-res.apk
here only those
my working
Hi
Ashle said:
Please help ...
I need to create a zip file flashlable
system / app
SystemUI.apk
Phone.apk
HtcDialer.apk
and another app
..............
/ framework
com.htc.resources.apk
framework-res.apk
here only those
my working
Click to expand...
Click to collapse
If you are only using System apks, then there is a Play Store App for that.
App2Zip
Search it.
I need to create a system app updater script and the framework / framework-res.apk, com.htc.resources.apk
My not working
mount("MTD", "system", "/system");
ui_print("started. . . .");
ui_print("flashable zip");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/busybox", "mount", "/cache");
package_extract_dir("system", "/system");
delete("/system/app/HtcContacts.odex");
delete("/system/app/HtcContactWidgets.odex");
delete("/system/app/HtcDialer.odex");
delete("/system/app/Phone.odex");
delete("/system/app/SystemUI.odex");
delete("/system/framework/com.htc.resources.odex");
delete("/system/framework/framework-res.odex");
set_perm(0, 0, 0644, "/system/framework/framework-res.apk");
set_perm(0, 0, 0644, "/system/framework/com.htc.resources.apk");
unmount("/system");
unmount("/cache");
unmount("/data");
ui_print("Done. Reboot!");
Click to expand...
Click to collapse
Ashle said:
I need to create a system app updater script and the framework / framework-res.apk, com.htc.resources.apk
My not working
Click to expand...
Click to collapse
1. mount("MTD", "system", "/system"); is wrong for DX as DX is using EMMC instead of MTD
The correct one is mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system");
2. You don't need mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system"); when you have run_program("/sbin/busybox", "mount", "/system");
3. There is no such thing as com.htc.resources.odex and framework-res.odex as there is no smali in these files
4. You don't need set_perm(0, 0, 0644, for system/app and system/framework
5. Why do you want to delete those odex files ? Most of the time, a stock odex ROM will not boot when you mix with deodexed files because the boothclass is broken
ckpv5 said:
1. mount("MTD", "system", "/system"); is wrong for DX as DX is using EMMC instead of MTD
The correct one is mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system");
2. You don't need mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system"); when you have run_program("/sbin/busybox", "mount", "/system");
3. There is no such thing as com.htc.resources.odex and framework-res.odex as there is no smali in these files
4. You don't need set_perm(0, 0, 0644, for system/app and system/framework
5. Why do you want to delete those odex files ? Most of the time, a stock odex ROM will not boot when you mix with deodexed files because the boothclass is broken
Click to expand...
Click to collapse
Yes .... :thumbup: :thumbup:
Edit SuperSense5 rom...
Change battery icon not working...
Icon wifi,data......,icon picture call contact,frame,....ok
Sent from my HTC Desire X using xda app-developers app

[Tutorial]MAKE YOUR OWN CUSTOM ROM FOR LG G2M :)

Hi all! I want to show you how to create custom rom based on stock lg firmware and stock rom ready to install by recovery
1. Making stock rom ready to install by recovery
1. Download latest LG KK Firmware KDZ: IS HERE
PASSWORD: firmware-lg-d620r-poland-62010
then this programme:
this: Click!
2. Run KDZ Extractor and open kdz (downloaded file) in it.
3. Click extract KDZ
4. Open extracted DZ file, wait and then click on merge system bin (you must check every file in programme)
5. Now you have some more files, look on:
-system.img
and
-boot_327680.bin (rename it to boot.img)
-cust_704512.bin (rename it to cust.bin)
6. Download attach file: attach file is here
7. Make some folder on your disc and put there META-INF folder (which you downloaded), system.img, boot.img and cust.bin.
8. Make zip package by 7zip.
9. Now you have ready zip package, you can install it by moded-Recovery.
2. Making custom rom based on stock
1. Make all points from first tutorial to 5*
2. Download here
3. Open system file in downloaded programme and save what you want.
4. Download "META-INF for custom":
Here
Example:
Code:
[B]Your text here[/B]
ui_print("*****************************");
ui_print("* Your mod *");
ui_print("*****************************");
ui_print("* for LG G2M *");
ui_print("*****************************");
ui_print("First part of installation...");
run_program("/sbin/mount", "/system");
run_program("/sbin/busybox","mount","/data");
[B]Delete system folder, in example you see "media" folder[/B]
delete_recursive("/system/media");
package_extract_dir("system", "/system");
mount("ext2", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("../xbin/busybox", "/system/bin/busybox");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
ui_print("Second part of installation...");
[B]About deleting apps, for example Books apk and odex file[/B]
delete("/system/app/Books.apk");
delete("/system/app/Books.odex");
set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/priv-app");
ui_print("Please wait... ");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
unmount("/system");
ui_print("Clearing cache");
delete_recursive("/data/dalvik-cache");
ui_print("Now UnMounting partitions");
run_program("/sbin/umount", "/system");
run_program("/sbin/umount", "/data");
show_progress(0.1, 0);
[B]Last words for ending intsallation[/B]
ui_print("*******************************");
ui_print("* Thank you! *");
ui_print("*******************************");
show_progress(0.1, 10);
If you want add kernel installation put boot.img to your folder and add to your script this command:
Code:
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
*** NEW UPDATER-SCRIPT, WITH FORMATING SYSTEM AND CLEAN INSTALLATION:
here!
FOR EDITING UPDATER SCRIPT ETC USE ALWAYS NOTEPAD++ (NotepadPP)
HOMEPAGE of N++
Thats all
great work
:good:
WYPIERDAALAAC said:
Hi all! I want to show you how to create custom rom based on stock lg firmware and stock rom ready to install by recovery
1. Making stock rom ready to install by recovery
1. Download latest LG KK Firmware KDZ: CLICK
then this programme:
this: Click!
2. Run KDZ Extractor and open kdz (downloaded file) in it.
3. Click extract KDZ
4. Open extracted DZ file, wait and then click on merge system bin (you must check every file in programme)
5. Now you have some more files, look on:
-system.img
and
-boot_327680.bin (rename it to boot.img)
-cust_704512.bin (rename it to cust.bin)
6. Download attach file: attach file is here
7. Make some folder on your disc and put there META-INF folder (which you downloaded), system.img, boot.img and cust.bin.
8. Make zip package by 7zip.
9. Now you have ready zip package, you can install it by moded-Recovery.
2. Making custom rom based on stock
1. Make all points from first tutorial to 5*
2. Download here
3. Open system file in downloaded programme and save what you want.
4. Download "META-INF for custom":
Here
Example:
Code:
[B]Your text here[/B]
ui_print("*****************************");
ui_print("* Your mod *");
ui_print("*****************************");
ui_print("* for LG G2M *");
ui_print("*****************************");
ui_print("First part of installation...");
run_program("/sbin/mount", "/system");
run_program("/sbin/busybox","mount","/data");
[B]Delete system folder, in example you see "media" folder[/B]
delete_recursive("/system/media");
package_extract_dir("system", "/system");
mount("ext2", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("../xbin/busybox", "/system/bin/busybox");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
ui_print("Second part of installation...");
[B]About deleting apps, for example Books apk and odex file[/B]
delete("/system/app/Books.apk");
delete("/system/app/Books.odex");
set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/priv-app");
ui_print("Please wait... ");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
unmount("/system");
ui_print("Clearing cache");
delete_recursive("/data/dalvik-cache");
ui_print("Now UnMounting partitions");
run_program("/sbin/umount", "/system");
run_program("/sbin/umount", "/data");
show_progress(0.1, 0);
[B]Last words for ending intsallation[/B]
ui_print("*******************************");
ui_print("* Thank you! *");
ui_print("*******************************");
show_progress(0.1, 10);
If you want add kernel installation put boot.img to your folder and add to your script this command:
Code:
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
Thats all
Click to expand...
Click to collapse
Very good tutorial !
I made a flashable v10j ! I can upload it if anyone is interested.
Tse™ said:
Very good tutorial !
I made a flashable v10j ! I can upload it if anyone is interested.
Click to expand...
Click to collapse
why not maybe it will help someone back from cm to stock
question: would it be possible to copy the part of the stock of sw Gps CM12? I'm fine with CM12 but GPS signal ... dancer stock with stable signal
WYPIERDAALAAC said:
why not maybe it will help someone back from cm to stock
Click to expand...
Click to collapse
Ok! I am uploading!
Just tell if this is for d620 or d61*
Sent from my D620fr [SlimKat]
D620R V10J unbranded. Here is the link until i get 10 posts and i am able to open a thread.
https://www.dropbox.com/s/xv3ftorno1208en/V10j_D620R.zip?dl=0
Tse™ said:
D620R V10J unbranded. Here is the link until i get 10 posts and i am able to open a thread.
https://www.dropbox.com/s/xv3ftorno1208en/V10j_D620R.zip?dl=0
Click to expand...
Click to collapse
Just add the link in this thread :good:
Sent from my D620fr [SlimKat]
Already done! I think I'll start playing a bit with the ROM .
baggino said:
question: would it be possible to copy the part of the stock of sw Gps CM12? I'm fine with CM12 but GPS signal ... dancer stock with stable signal
Click to expand...
Click to collapse
You can use gps file from stock to cm12, below link:
WYPIERDAALAAC said:
You can use gps file from stock to cm12, below link:
Click to expand...
Click to collapse
Now I try it immediately and tell you how it works. If it works well, as you might do for Rom Resurrection Remix
stability is improved but still less the stock. I'd like to try the Resurrection_remix - but I do not know how to copy ...
baggino said:
stability is improved but still less the stock. I'd like to try the Resurrection_remix - but I do not know how to copy ...
Click to expand...
Click to collapse
system\etc\gps.conf it's here
copy it from Resurrection_remix to your ROM and set permission.
PS.: THREAD UPDATED
Just want to know if this method is compatible with D722....and if yes is the meta inf too?????
Thank so. ..
Is there a way to root ROM before flash?
WYPIERDAALAAC said:
PS.: THREAD UPDATED
Click to expand...
Click to collapse
How to add root directly in the created zip ? ???
rayman95 said:
How to add root directly in the created zip ? ???
Click to expand...
Click to collapse
you must write commands in script for that, tell me if it's good:
link for supersu https://download.chainfire.eu/696/SuperSU/UPDATE-SuperSU-v2.46.zip and put to tmp/supersu folder
Code:
set_progress(0.700000);
ui_print("Rooting...");
package_extract_dir("PACKAGENAME/supersu", "/tmp/supersu");
run_program("/sbin/busybox", "unzip", "/tmp/supersu/UPDATE-SuperSU-v2.46.zip", "META-INF/com/google/android/*", "-d", "/tmp/supersu");
run_program("/sbin/busybox", "sh", "/tmp/supersu/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/supersu/UPDATE-SuperSU-v2.46.zip");
run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin");
set_progress(0.800000);
Tse™ said:
Very good tutorial !
I made a flashable v10j ! I can upload it if anyone is interested.
Click to expand...
Click to collapse
Thanks!
i cant find the system.img.
these files are D62020a00.kdz,

Categories

Resources