UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    (Solved) - List installed apps

    Scheduled Pinned Locked Moved OS
    11 Posts 3 Posters 1.0k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • AlainW94A Offline
        AlainW94
        last edited by AlainW94

        Hi everybody,

        Do you know if there is a command line to list all installed apps on the phone please ? I have in mind the idea to create a backup/restore tool for the phone (backup of contacts, call and sms history, background, installed apps and their settings, system settings), ideally this script must be able to backup a phone and restoring it to another phone (same or different model).

        For the contacts I have this path :
        /home/phablet/.local/share/evolution/addressbook/system/contacts.db
        For the sms and call history this one :
        /home/phablet/.local/share/history-service/

        Thanks for your advice !

        Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
        Never forget that they are much more ideas inside two heads than in one...

        1 Reply Last reply Reply Quote 0
        • flohackF Offline
          flohack
          last edited by

          It is much easier to craft a backup/restore when in recovery. Simply backup/restore 2 folders /data/system-data and /data/user-data und you got a 100% copy of all relevant things, including installed apps.

          Doing it file-by-file is not ideal, as you will loose all system settings etc. The drawback of recovery is, you cannot do it while booted into the live system. There might be better solutions in the future.

          My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

          AlainW94A 1 Reply Last reply Reply Quote 0
          • AlainW94A Offline
            AlainW94 @flohack
            last edited by

            @Flohack hi, I'm agree with you, the problem is that I do not have thoses folder on my pro 5 while I'm in recovery !

            Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
            Never forget that they are much more ideas inside two heads than in one...

            1 Reply Last reply Reply Quote 0
            • AlainW94A Offline
              AlainW94
              last edited by AlainW94

              An other strange things is that when I use the ubports installer, it burn a recovery image that my computer is not able to detect with usb :

              [34249.254000] usb 2-1.3: new high-speed USB device number 117 using ehci-pci
              [34249.283824] usb 2-1.3: no configurations
              [34249.283831] usb 2-1.3: can't read configurations, error -22
              [34249.290021] usb 2-1-port3: unable to enumerate USB device
              
              

              Even Windows is not recognizing it. I have to burn the old recovey-turbo.img from ubuntu and the it works, Am I the only one to have this issue ?

              And with the old recovery my /data folder is empty :

              ~ # ls
              cache                init.rc              service_contexts
              charger              proc                 sideload
              data                 property_contexts    storage
              default.prop         ram0                 sys
              dev                  res                  system
              etc                  root                 tmp
              file_contexts        sbin                 ueventd.goldfish.rc
              fstab.goldfish       sdcard               ueventd.m86.rc
              fstab.m86            seapp_contexts       ueventd.rc
              init                 selinux_version
              ~ # ls /data
              ~ # 
              
              

              The user-data partition doesn't seems to be mounted :

              ~ # mount
              rootfs on / type rootfs (rw)
              tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
              devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
              proc on /proc type proc (rw,relatime)
              sysfs on /sys type sysfs (rw,relatime)
              tmpfs on /tmp type tmpfs (rw,relatime)
              /dev/block/platform/15570000.ufs/by-name/cache on /cache type ext4 (rw,nodev,noatime,nodiratime,data=ordered)
              ~ # 
              
              

              Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
              Never forget that they are much more ideas inside two heads than in one...

              1 Reply Last reply Reply Quote 0
              • AlainW94A Offline
                AlainW94
                last edited by

                Hi, that's me again ...

                I used fastboot to flash the recovery_turbo.img (by the way this issue was closed on github but without details : https://github.com/ubports/ubports-installer/issues/599.

                I booted on recovery using adb reboot recovery. I mounted sda44 partition on /data :

                adb shell mount /dev/block/sda44 /data
                

                Then I tried adb pull /data/system-data ./

                But .... it seems not working when they are symlinks and it fail and stop :

                ~/Documents/Meizu$ adb pull /data/system-data ./
                adb: error: failed to copy '/data/system-data/var/log/installer/media-info' to './system-data/var/log/installer/media-info': remote No such file or directory
                

                After a look at this folder we can see :

                ~ # ls -l /data/system-data/var/log/installer/media-info 
                __bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
                __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
                __bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
                lrwxrwxrwx    1 root     root            15 Nov 23 13:26 /data/system-data/var/log/installer/media-info -> /etc/media-info
                ~ # 
                
                

                How can I then do my backup please ?

                Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
                Never forget that they are much more ideas inside two heads than in one...

                1 Reply Last reply Reply Quote 0
                • flohackF Offline
                  flohack
                  last edited by

                  Short answer: Its not easy. You have to skip symlinks when pulling those folders, as they are invalid at this time. Long answer: Canonical did not prepare any backup function, and so we are lost with a half-baked concept. Any ideas are welcome how this can be solved better.

                  My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                  AlainW94A 1 Reply Last reply Reply Quote 1
                  • AlainW94A Offline
                    AlainW94 @flohack
                    last edited by

                    @Flohack Hi back, thanks for your answer, I finally manage to do my backup and restore with success (thanks goolge).

                    I share here how I did:

                    Backup :

                    #!/bin/bash
                    echo "Backing up your data"
                    adb reboot recovery
                    sleep 15
                    adb shell mount /dev/block/sda44 /data
                    adb shell mkfifo /backup.pipe 
                    adb exec-out 'tar -cvp data/system-data 2>/backup.pipe' | dd of=system.tar & adb shell cat /backup.pipe &
                    adb shell rm /backup.pipe
                    adb shell mkfifo /backup.pipe 
                    adb exec-out 'tar -cvp data/user-data 2>/backup.pipe' | dd of=user.tar & adb shell cat /backup.pipe &
                    adb shell rm /backup.pipe
                    adb reboot
                    

                    With this script, you will mount the data partition under the recovery mode, create a pipe to transfer the content of the folder (/data/user-data) through stdout to dd on the local computer in a file named user.tar, then it will do the same for the folder system-data.

                    Now to restore :

                    #!/bin/bash
                    echo "Restoring your data"
                    adb reboot recovery
                    sleep 15
                    adb shell mount /dev/block/sda44 /data
                    adb shell mkfifo /resto.pipe
                    adb push user.tar /resto.pipe & adb shell 'cd /; cat /resto.pipe | tar -xv'
                    adb shell rm /resto.pipe
                    adb shell mkfifo /resto.pipe
                    adb push system.tar /resto.pipe & adb shell 'cd /; cat /resto.pipe | tar -xv'
                    adb reboot
                    

                    This script will boot the phone into recovery mode, mount the sda44 partition into /data folder, push your backup user.tar through the previously created pipe. On the phone the pipe is catched by cat then sent to tar for decompressing.

                    Your backup needs to be in the same folder as the script restore because I written it like this.

                    Credits goes there : https://www.forum-generationmobiles.net/t78912-tutoriel-backup-adb-sauvegarde-compressee-des-donnees-de-android-vers-votre-pc-gnu-linux

                    I tested it and it's perfectly working, I was able to clone one of my Pro 5 to the other one Pro5.

                    sda44 partition is mostly for Pro5, not sure that this mount works on other model.
                    I hope that this could help other people.

                    The best way is maybe to add this feature to ubports-installer, in order to be able to just backup/restore our phone (and of course re-installing it) only with one tool.

                    What are you thinking about that ?

                    Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
                    Never forget that they are much more ideas inside two heads than in one...

                    flohackF 1 Reply Last reply Reply Quote 2
                    • G Offline
                      Giiba
                      last edited by

                      Well if back up is half baked all we need to is warm the oven to say 425F and put your phone in for 30 mins or so. Backup done!

                      Sorry I couldn't resist the pointless joke...

                      AlainW94A 1 Reply Last reply Reply Quote 0
                      • AlainW94A Offline
                        AlainW94 @Giiba
                        last edited by

                        @Giiba I will try and let you know ... πŸ˜„

                        Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
                        Never forget that they are much more ideas inside two heads than in one...

                        1 Reply Last reply Reply Quote 0
                        • flohackF Offline
                          flohack @AlainW94
                          last edited by

                          @AlainW94 Yes the feature will be added to the installer, but if this script works that would be awesome. I did a similar approach with rsync and ssh back then, but this was very slow. How fast is this, you think?
                          Also, its maybe easier to put stuff on the SD-CARD locally?

                          My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                          AlainW94A 1 Reply Last reply Reply Quote 1
                          • AlainW94A Offline
                            AlainW94 @flohack
                            last edited by

                            @Flohack Regarding the user-data folder, it took at least 30-35 minutes to backup 12Go (including compression) over usb2.0, and nearly the same (a little faster) to restore (arround 20 minutes).

                            The system-data folder was smaller then it take less than 5 minutes to backup (and 3 more to restore).

                            I was thinking about doing it on the SD at the beginning but as my data partition was about 54Go, I was scared that my 32Go SD card wasn't sufficient (as I already had a lot of things on my SD like all the pictures taken by the camera, they are very big on te Pro5 because of the sensor quality).
                            And one other thing was that my sdcard wasn't mounted on recovery, I think that the recovery-turbo.img miss a lot of features.

                            For the phone where the system-data and user-data are correctly mounted on the /data folder in recovery, this script can work well if you remove the line "adb shell mount /dev/block/sda44 /data"

                            But if you want to do that locally on the SD card, if it is mounted, you can do that on the recovery nearly the same way, don't forget to use tar as it will take care of the symlinks (not to ignore them, it will save them too).

                            It will be very perfect if that can be integrated to the installer !

                            Meizu Pro 5, Meizu Pro 5, Meizu Pro 5, Meizu Pro 5 (Yes I have 4 of them)
                            Never forget that they are much more ideas inside two heads than in one...

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post