Backs up Android devices on Linux, macOS and Windows. Backup your device without vendor lock-ins, using insecure software or root.

Overview

Linux Android Backup

Linux Android Backup is a tiny shell script & Flutter app that makes securely backing up Android devices on Linux and macOS easy, without vendor lock-ins or using closed-source software that could put your data at risk. It's based on ADB but doesn't use the deprecated adb backup command.

Status: Works, albeit testers are needed (my testbench broke).

Data backed up

  • Apps (.apk files of installed apps)
  • Internal storage (pictures, downloads, videos, Signal backups if enabled, etc)
  • Contacts (exported in vCard format)

These 3 things are the majority of what anyone would want to keep safe, but we all have different expectations and requirements, so suggestions are welcome.

Features

  • Automatically restores backed up data.
  • Works on macOS & Linux (including WSL), and supports any Android device.
  • Backs up data not normally accessible through ADB using a native companion app.
  • Tiny - the script is 5KB in size, and the companion app is around 15 megabytes.
  • Doesn't use proprietary formats: your data is safe even if this script ever gets lost. Simply open archives created by this script using 7-Zip.
  • Encryption is forced - you can't disable it.
  • All data is compressed using 7-Zip with maximum compression settings.

Installation

  1. Install p7zip and adb (sudo apt update; sudo apt install p7zip-full adb on Debian).
  2. Clone or download this repository.
  3. Enable developer options on your device and run backup.sh.

Running under Windows

  1. Install the Windows Subsystem for Linux and a distro (Debian or Ubuntu is recommended).
  2. Continue with the steps above.

License

This software is licensed under the "Linux Android Backup License", a license based on the BSD 3-Clause license, but with another clause preventing the use of this software by law enforcement.

TODO

Sorted by importance. PRs are appreciated.

  • Write usage instructions
  • Create a desktop GUI for newcomers (using Flutter maybe?)
  • Improve mobile app by fixing bugs and making it more appealing
  • Clean up the code
Comments
  • Script aborts when exporting contacts

    Script aborts when exporting contacts

    Exporting contacts (as vCard). adb: error: failed to stat remote object '/storage/emulated/0/linux-android-backup-temp': No such file or directory

    I went into the adb shell and that file/folder does not exist.

    opened by 77 15
  • Script crashes when exporting contacts

    Script crashes when exporting contacts

    As in the title, apps export correctly but it crashes after this message:

    Exporting contacts (as vCard).
    adb: error: failed to stat remote object '/storage/emulated/0/linux-android-backup-temp': No such file or directory
    

    log.txt

    bug 
    opened by Poomex 8
  • No such file error halting process

    No such file error halting process

    Device info

    Manufacturer: Samsung Android version: 12 Custom ROM/rooted? No Model: SM-N975U1

    System info

    Available disk space: 1.21TB (D: drive, backup location); 125GB (C: drive, system) Operating system: Windows 11; Ubuntu WSL


    Describe the issue below. After apps are finished being exported (I tried both tar and adb method), it hits an exception.

    /data/app/~~MnXxs_EbCa3JDHmoPetPlg==/com.dietbet.app-NreK0...le pulled, 0 skipped. 35.2 MB/s (27809188 bytes in 0.753s)
    Exporting contacts (as vCard).
    adb: error: failed to stat remote object '/storage/emulated/0/linux-android-backup-temp/.': No such file or directory
    Exiting.
    Press Enter to continue...
    bug 
    opened by kaxlabs 6
  • Retore totally fails

    Retore totally fails

    During the restore process I'm getting a wall of errors like…

    Extracting archive: ./AndroidManifest.xml
    ERROR: ./AndroidManifest.xml
    Can not open the file as archive
    
    
    Extracting archive: ./DebugProbesKt.bin
    ERROR: ./DebugProbesKt.bin
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/CERT.RSA
    ERROR: ./META-INF/CERT.RSA
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/CERT.SF
    ERROR: ./META-INF/CERT.SF
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/MANIFEST.MF
    ERROR: ./META-INF/MANIFEST.MF
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.activity_activity.version
    ERROR: ./META-INF/androidx.activity_activity.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.annotation_annotation-experimental.version
    ERROR: ./META-INF/androidx.annotation_annotation-experimental.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.arch.core_core-runtime.version
    ERROR: ./META-INF/androidx.arch.core_core-runtime.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.core_core.version
    ERROR: ./META-INF/androidx.core_core.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.customview_customview.version
    ERROR: ./META-INF/androidx.customview_customview.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.fragment_fragment.version
    ERROR: ./META-INF/androidx.fragment_fragment.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.lifecycle_lifecycle-livedata-core.version
    ERROR: ./META-INF/androidx.lifecycle_lifecycle-livedata-core.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.lifecycle_lifecycle-livedata.version
    ERROR: ./META-INF/androidx.lifecycle_lifecycle-livedata.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.lifecycle_lifecycle-runtime.version
    ERROR: ./META-INF/androidx.lifecycle_lifecycle-runtime.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.lifecycle_lifecycle-viewmodel.version
    ERROR: ./META-INF/androidx.lifecycle_lifecycle-viewmodel.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.loader_loader.version
    ERROR: ./META-INF/androidx.loader_loader.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.savedstate_savedstate.version
    ERROR: ./META-INF/androidx.savedstate_savedstate.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.tracing_tracing.version
    ERROR: ./META-INF/androidx.tracing_tracing.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.versionedparcelable_versionedparcelable.version
    ERROR: ./META-INF/androidx.versionedparcelable_versionedparcelable.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.viewpager_viewpager.version
    ERROR: ./META-INF/androidx.viewpager_viewpager.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.window_window-java.version
    ERROR: ./META-INF/androidx.window_window-java.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/androidx.window_window.version
    ERROR: ./META-INF/androidx.window_window.version
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/annotation-experimental_release.kotlin_module
    --
    Path = ./META-INF/annotation-experimental_release.kotlin_module
    Type = lzma86
    
    
    Would you like to replace the existing file:
      Path:     ./annotation-experimental_release
      Size:     10 bytes (1 KiB)
      Modified: 1981-01-01 01:01:02
    with the file from archive:
      Path:     annotation-experimental_release
      Size:     4398046511360 bytes (4097 GiB)
    ? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? 
    ERROR: Unexpected end of data : annotation-experimental_release
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/app_release.kotlin_module
    --
    Path = ./META-INF/app_release.kotlin_module
    Type = lzma86
    
    ERROR: Unexpected end of data : app_release
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/flutter_contacts_release.kotlin_module
    --
    Path = ./META-INF/flutter_contacts_release.kotlin_module
    Type = lzma86
    
    ERROR: Unexpected end of data : flutter_contacts_release
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlin-stdlib-common.kotlin_module
    --
    Path = ./META-INF/kotlin-stdlib-common.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlin-stdlib-common
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlin-stdlib-jdk7.kotlin_module
    --
    Path = ./META-INF/kotlin-stdlib-jdk7.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlin-stdlib-jdk7
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlin-stdlib-jdk8.kotlin_module
    --
    Path = ./META-INF/kotlin-stdlib-jdk8.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlin-stdlib-jdk8
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlin-stdlib.kotlin_module
    --
    Path = ./META-INF/kotlin-stdlib.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlin-stdlib
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlinx-coroutines-android.kotlin_module
    --
    Path = ./META-INF/kotlinx-coroutines-android.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlinx-coroutines-android
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlinx-coroutines-core.kotlin_module
    --
    Path = ./META-INF/kotlinx-coroutines-core.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlinx-coroutines-core
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlinx-serialization-core.kotlin_module
    --
    Path = ./META-INF/kotlinx-serialization-core.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlinx-serialization-core
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/kotlinx-serialization-json.kotlin_module
    --
    Path = ./META-INF/kotlinx-serialization-json.kotlin_module
    Type = lzma86
    
    ERROR: Data Error : kotlinx-serialization-json
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler
    ERROR: ./META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory
    ERROR: ./META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory
    Can not open the file as archive
    
    
    Extracting archive: ./META-INF/window-java_release.kotlin_module
    --
    Path = ./META-INF/window-java_release.kotlin_module
    Type = lzma86
    
    ERROR: Unexpected end of data : window-java_release
    
    Sub items Errors: 1
    
    Extracting archive: ./META-INF/window_release.kotlin_module
    --
    Path = ./META-INF/window_release.kotlin_module
    Type = lzma86
    
    

    And that's where it ends:

    Extracting archive: ./window_release
    ERROR: ./window_release
    Can not open the file as archive
    
    
    Archives: 152
    OK archives: 7
    Can't open as archive: 123
    Archives with Errors: 21
    Archives with Warnings: 1
    
    Warnings: 1
    
    Open Errors: 1
    
    Sub items Errors: 20
    (B[?12l[?25h
    

    The restoration doesn't actually happen from there. I just looked inside backup-tmp and there's tons of stuff, but there's also tons of stuff in the directory:

    tjcarter@aki:~/Source/linux-android-backup/asuna$ ls
    AndroidManifest.xml              kotlinx-coroutines-android
    annotation                       kotlinx-coroutines-core
    annotation-experimental_release  kotlinx-serialization-core
    app_release                      kotlinx-serialization-json
    assets/                          lib/
    backup-tmp/                      linux-android-backup-06-30-2022-12-15-45.7z
    classes.dex                      linux-android-backup-companion
    collections                      linux-android-backup-companion.apk
    coroutines                       META-INF/
    DebugProbesKt.bin                NOTICES
    flutter_contacts_release         NULL
    internal                         ranges
    kotlin/                          reflect
    kotlin-stdlib                    res/
    kotlin-stdlib-common             resources.arsc
    kotlin-stdlib-jdk7               window-java_release
    kotlin-stdlib-jdk8               window_release
    kotlin-tooling-metadata.json
    

    I've got some idea that maybe all of that is not supposed to be there? Anyway, it looks like I'm going to be awhile doing a messy manual restoration using the script as a guide. I had to reflash/erase everything. sigh

    opened by knghtbrd 5
  • Failure when backing up .nomedia file

    Failure when backing up .nomedia file

    I was unable to get past this issue, but spent a little time looking at it. I am no android expert. Things bump along ok (see #7) until this point:

    Exporting internal storage - this will take a while.
    adb: error: failed to copy '/storage/emulated/0/Android/data/.nomedia' to './backup-tmp/Storage/0/Android/data/.nomedia': remote open failed: Permission denied
    

    I started an adb shell and found the file permissions were like so:

    -rw------- 1 u0_a256 ext_data_rw 0 2021-05-10 20:59 storage/emulated/0/Android/data/.nomedia
    

    My uid was 'shell' (uid 2000), so I had no way of changing the permissions. The phone is not rooted and not going to be.

    It would be helpful to warn about such files but carry on processing. Better not to fail the backup for lack of permission on one zero-byte file.

    Edit: usb client is mac laptop with Android Debug Bridge version 1.0.41, Version 33.0.2-8557947

    opened by xipmix 4
  • Device not show up in script

    Device not show up in script

    Device info

    Manufacturer: Samsung Galaxy S5 Android version: 11 Custom ROM/rooted? Rooted and custom rom, lineageOS, Android 11 Model: GT i9505

    System info

    Fedora 36, Linux, KDE


    USB debugging activated File transfer mode ON

    My phone is recognised by my PC when attached with a wired connection. I can transfer files using KDE desktop. But ./backup.sh does not recognise the phone.

    bug 
    opened by sam1946 3
  • MIUI and .nomedia files

    MIUI and .nomedia files

    In .../Android/data folders of MIUI exist .nomedia files for which I did not find any way to delete or them or change their permissions. Due to lacking read access 'adb pull' is stopped after running into them and the whole run attempt is over. This way, personally I would write some for loop with additional checks ... (because I couldn't find any adb option to ignore errors for pull; presumably my ignorance, sorry). Thanks. BTW: MIUI is not so nice concerning permanent install / uninstall, at least not with me. Hence, I installed the apk manually once after copying to phone and removed the (un)installs from the script.

    opened by uwe-ho 3
  • script can't uninstall compenium app

    script can't uninstall compenium app

    app stop working

    `? What do you want to do? Backup Linux Android Backup will install a companion app on your device, which will allow for contacts to be backed up and restored. The companion app is open-source, and you can see what it's doing under the hood on GitHub. Downloading companion app. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 16.2M 100 16.2M 0 0 2505k 0 0:00:06 0:00:06 --:--:-- 3345k Attempting to uninstall companion app.

    companion app isn't showing on Android 12.1 device. When installing manual the companion apk the script showing the same result

    opened by LeOS-GSI 3
  • A postinstall data breaks backup due to `set -e`

    A postinstall data breaks backup due to `set -e`

    Device info

    Manufacturer: Nokia Android version: 10.0 Custom ROM/rooted? No Model: 7 plus

    System info

    Available disk space: 539213824 kB Operating system: Linux ... openSUSE Leap 15.3


    Describe the issue below.

    The command ./backup.sh stops at the line

    adb: error: failed to stat remote object '/data/preloads/apps-postinstall/GoogleHandWritingIME/GoogleHandWritingIME.apk': Permission denied
    

    just listed all apps an indeed this is the only one

    Nokia/linux-android-backup-master> adb shell pm list packages -3 -f | grep apps-postinstall
    package:/data/preloads/apps-postinstall/GoogleHandWritingIME/GoogleHandWritingIME.apk=com.google.android.apps.handwriting.ime
    

    will try to add an exception for this postinstall in the list

    bug 
    opened by bitstreamout 2
  • script aborts if an apk is missing

    script aborts if an apk is missing

    Device info

    Manufacturer: Sony Android version: 7.1.1 Custom ROM/rooted? no Model: Sony Xperia Z5 compact (suzuran)

    System info

    Debian bullseye Available disk space: Operating system:


    Something is going wrong with the apk download, causing the whole script to crash. I get:

    Attempting to uninstall companion app.
    Exporting apps.
    adb: error: remote object '/mnt/asec/de.alpstein.alpregio.SchweizerPaerke-1/base.apk' does not exist
    

    This app does not feature in my list of apps, so it is some artefact from a previous installation. Can I make the script just ignore such apps?

    bug 
    opened by schymans 2
  • backup.sh always fails with

    backup.sh always fails with"tar: This does not look like a tar archive"

    Hello,

    I have been trying to use your LAB tool since I have read about it in an article of the German LinuxUser magazine ed. 09/2022 pp. 18-22 by Ferdinand Thommes, but so far it always aborts with below error, right after tentative storage of apk files for installed apps.

    Is this a known issue with an effective fix or workaround?

    Regards, Ralph

    7.56MiB 0:00:01 [7.36MiB/s] [ <=> ] 55.3MiB 0:00:07 [7.57MiB/s] [ <=> ] 6.17MiB 0:00:00 [7.36MiB/s] [<=> ] 2.69MiB 0:00:00 [6.96MiB/s] [<=> ] 110MiB 0:00:12 [8.59MiB/s] [ <=> ] 1.91MiB 0:00:00 [5.93MiB/s] [<=> ] 3.94MiB 0:00:01 [3.58MiB/s] [ <=> ] 91.0MiB 0:00:10 [8.66MiB/s] [ <=> ] Exporting contacts (as vCard). 0.00 B 0:00:00 [0.00 B/s] [<=> ] tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors

    [fiddle@lenolap:~/LU/202209] $ ls backup-tmp/Apps/|grep -Ec [0-9]+\.apk 128

    [fiddle@lenolap:~/LU/202209] $ du -shx backup-tmp/Apps/ 3.4G backup-tmp/Apps/

    [fiddle@lenolap:~/LU/202209] $ ll backup-tmp/Contacts/ total 0

    opened by wolkenkuckuck 2
  • This is a fake issue. [3in1]

    This is a fake issue. [3in1]

    Yeah, sorry. I know that Github isn't for social stuff, Github is for work. But sometimes this is the only direct space to address appreciation to Devs. So, yeah - you can label it "APPRECIATION".

    ... okay, I will manage something, but really - i'm forcing it. I don't really feel that I've encountered an issue. So I don't know I can reproduce it technically without any doubts. So just take it as "user story" or sth.

    Device info

    Manufacturer/Model: Xiaomi Android version: Migration from 9 to 11 Custom ROM/rooted: Migration from MIUI 11 to ArrowOS 11 (Gapps, stable) Model: Redmi Note 5 (Whyred)

    System info

    Available disk space: A lot Operating system: Linux / PopOS


    Task: I wanted to backup simple stuff for my girlfriend's old phone, which has stock MIUI, bloaty as hell. I'm running on ArrowOS on my Lavender (XRN7) - and from there I know that it's very, very stable and fast. Also, I used the script before, for my phone, and it made it's job smoothly (only export, no restoring).

    Let's split it like that:

    1. ISSUE? While copying files from Redmi Note 5 the script just stopped working. I don't have any logs, because my thoughts was "okay, it was 50GB of data, it could break". It was somehow normal to me. After manually copying the biggest folder (DCIM of course) - I ran it again and it worked just fine. I cannot say that it was a script problem, because later on I've noticed that I didn't turn debugging "fully on" - in Xiaomi you need to have SIM inside or be logged to Xiaomi Account for enabling debug app install or something like that. I think it was a connection problem, so I don't know why I'm writing this, maybe just to tell what I've encountered.
    2. ACTUAL PROBLEM/QUESTION/ENHANCEMENT? What is interesting for me, though, is the problem of moving data from closed stock to AOSP-like ROM. I had no problems with restoring this backup (technically), but I have these thoughts:
      • Backup included MIUI apps which will have to be deleted by me manually. Maybe there is an area of improving the script here, when user want to make action like mine? I know that this is not a "migration" script, but "backup". But it could be nice to have option to mark if you're moving from stock to custom. After this, script could automatically delete system apps with no use on the new device. But that's a meaning of hooks, I suppose? These are too hard for me for now, sorry if I'm noobing here.
      • Second thing is more likely an issue - no contacts were restored! In backup-tmp I see that every contact is written in it's own .vsc file. But no single one was restored. Cannot tell why. But I have all the files, so I can restore them manually. Maybe also there could be a naming space for this? For example - I'm putting all contacts in one file, packing it and just "pushing" to device with help of your script?
      • Cleaning - even though I have a lot of shitty MIUI folders - everything works. There are no stability problems. I will try to delete some things manually and hope to not destroy anything. Maybe in the future this kind of simple cleaning could work?
    3. ACTUAL REASON OF THIS POST I want to say - THANK YOU! This is very simple and needed tool. It's so simple that it is clear - problems were on my/device side. This script is the future - every other backup solution is complicated and slow. I really love it. I wish you all the best and want to giving you my words of support - hope that this project will have future. Thanks again!

    πŸ¦„ πŸ’™ 🍾

    opened by eshate 2
  • Add ability to set compression level or disable compression

    Add ability to set compression level or disable compression

    Based on the discussion in #32 I've added the ability to set compression level (1-9) or disable compression:

    image

    Summary: Set the compression level from 1-9, or set to 0 to disable compression and not run 7Zip at all. Tested and working for both backup and restore.

    opened by pvint 3
  • 7 Zip compression

    7 Zip compression

    Why did you decide to use maximum compression for 7 Zip? It takes very long and is not really neccessary for a phone backup in my opinion because they usually arent that big. Could you make the compression optional or provides different compression settings?

    bug 
    opened by lunatik98 5
  • Restore fails with remote secure_mkdirs failed: Operation not permitted while trying to write to storage/Android/data/

    Restore fails with remote secure_mkdirs failed: Operation not permitted while trying to write to storage/Android/data/

    Device info

    Manufacturer: Google Android version: Android 13 Custom ROM/rooted? No Model: Pixel 6 Pro

    System info

    Available disk space: ~275 GB Operating system: Arch Linux 5.19.13-zen1-1-zen


    Describe the issue below. Restore fails with remote secure_mkdirs failed: Operation not permitted while trying to write to storage/Android/data/

    Full echo output:

    ./backup-tmp/Storage/Alarms/: 2 files pushed, 0 skipped. 10.6 MB/s (962366 bytes in 0.087s) adb: error: failed to copy './backup-tmp/Storage/Android/data/com.teamviewer.quicksupport.market/files/export/files.zip' to '/storage/emulated/0/Android/data/com.teamviewer.quicksupport.market/files/export/files.zip': remote secure_mkdirs failed: Operation not permitted adb: error: failed to read copy responsep/2021-11-16 23-29-39.zip: 4% adb: error: failed to read copy responsek-share.zip: 0% adb: error: failed to read copy responsesame.app.edge_2022-06-03.apk: 1% adb: error: failed to read copy response ./backup-tmp/Storage/Audiobooks/: 0 files pushed, 0 skipped. adb: error: failed to read copy response/2022-09-03-hyperion-config.backup: 0% adb: error: failed to read copy responseXL_20220901_113214755.jpg: 6% adb: error: failed to read copy responsefaver.txt: 100% adb: error: failed to read copy responsenced-YouTube-v17.36.37-arm64-v8a-cli_v2.11.1-patches_v2.66.2.apk: 90% adb: error: failed to read copy response ./backup-tmp/Storage/DSfile/: 0 files pushed, 0 skipped. adb: error: failed to read copy response-20220909-033737.mp4: 0% adb: error: failed to read copy responseails/.database_uuid: 100% adb: error: failed to read copy response/Cha-Ching.ogg: 100% adb: error: failed to read copy responsegram/IMG_20220811_110405_105.jpg: 51% adb: error: failed to read copy response ./backup-tmp/Storage/Podcasts/: 0 files pushed, 0 skipped. adb: error: failed to read copy response ./backup-tmp/Storage/Recordings/: 0 files pushed, 0 skipped. adb: error: failed to read copy responseRobot Theme.mp3: 13% adb: error: failed to read copy response 3901 files pushed, 0 skipped. 17.1 MB/s (2844152529 bytes in 159.008s)

    bug 
    opened by iamdegenerat3 6
  • Feature request: add sms and call logs backup and restore

    Feature request: add sms and call logs backup and restore

    I think that it's a key feature to have the ability to backup sms and call logs, Every time I backup my phone for me or for someone else I saw that it's important to keep old sms messages and call logs.

    enhancement 
    opened by thewh1teagle 2
Releases(latest)
Owner
Software developer, webdev is my jam though.
null
Flutter plugin that allows you to keep the device screen awake on Android, iOS, macOS, Windows, and web.

Wakelock Wakelock is Flutter plugin that allows you to keep the device screen awake, i.e. prevent the screen from sleeping. Supported platforms Platfo

null 341 Jan 4, 2023
A Flutter plugin for changing the Home Screen, Lock Screen (or both) Wallpaper on Android devices.

wallpaper_manager A Flutter plugin for changing the Home Screen, Lock Screen (or both) Wallpaper(s) on Android devices. Usage Installation In the pubs

Aditya Mulgundkar 38 Nov 28, 2022
A Gitmoji app for macOS, Linux, and Windows.

GitmojiApp A Gitmoji app for macOS, Linux, and Windows. macOS Linux Windows What is this GitmojiApp is a simple desktop app that allows you to add a G

Patrick Fu 11 Dec 24, 2022
SSH no ports provides ssh to a remote Linux device with out that device having any ports open

Ssh! No ports ssh no ports provides a way to ssh to a remote linux host/device without that device having any open ports (not even 22) on external int

The Atsign Foundation 224 Dec 21, 2022
Software analytics tool that helps developers analyse and improve software quality.

Dart Code Metrics Note: you can find the full documentation on the website Configuration | Rules | Metrics | Anti-patterns Dart Code Metrics is a stat

Dart Code Checker 745 Dec 26, 2022
A modern multi vendor shop app using Flutter and Firestore

A modern multi vendor shop app using Flutter and Firestore. This app have absolutely everything a multivendor shopping app should have. Screens are on screenshots folder

Atuoha Anthony 6 Dec 24, 2022
Immich - Self-hosted Photo backup solution directly from your mobile phone

IMMICH Self-hosted Photo backup solution directly from your mobile phone. Note T

Alex 6.6k Dec 31, 2022
A Flutter plugin that provides assets abstraction management APIs without UI integration, you can get assets (image/video/audio) on Android, iOS and macOS.

photo_manager Photo/Assets management APIs for Flutter without UI integration, you can get assets (image/video/audio) from Android, iOS and macOS. 提供相

FlutterCandies 526 Jan 4, 2023
Modern UI with Flutter for Web, Android, Windows and Linux.

Modern UI with Flutter for Web, Android, Windows and Linux.

null 1 Apr 9, 2022
a dart dropbox file uploader (backup)

?? DropBox File Uploader A simple dropbox file uploader in dart This project was made as the base project for appwrite file backup cloud function in d

Donald Chinhuru 4 Dec 20, 2022
An E-Commerce application developed on Flutter, which helps to run the app on Android / IOS / Windows's OS / MacOS / Web Browser from a single codebase

BuySmart An E-Commerce application developed on Flutter, which helps to run the app on Android / IOS / Windows's OS / MacOS / Web Browser from a singl

Sumit Kumar 11 Oct 10, 2022
Movies application (Cubit, Android, iOS, macOS, Web, Windows)

Movies App (Cubit) Movies Application Platforms 1 - Android 2 - iOS 3 - macOS 4 - Web 5 - Windows Libraries & Tools Flutter 3.0.1 β€’ channel stable Da

Alexandr Zherebtsov 1 Jun 7, 2022
A Flutter plugin to read πŸ”– metadata of 🎡 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Harmonoid 60 Dec 2, 2022
A program for Mac, Windows and Linux to manage multiple translation files at once

A program for Mac, Windows and Linux to manage multiple translation files at once. Easy to use UI, multithreaded for optimization and Google Translate natively integrated. NB: At the moment it doesn't support nested translation keys.

Jesper Paulsen 4 Aug 8, 2022
Rotate Dial Lock

Rotary dial Locker Dependencies : How it works Most magic handle by GuesterDetector. onPanEnd onPanDown onPanUpdate SpringHouse, 1st we locate where u

Md. Yeasin Sheikh 10 Dec 21, 2022
Flutter - Passcode Lock Screen

Flutter - Passcode Lock Screen A Flutter package for iOS and Android for showing passcode input screen, similar to Native iOS. Installation First add

Vladimir Hudnitsky 160 Dec 25, 2022
This package gives you lock screen or pass code page

Flutter Pass Code Page or Pin Code Page Package This package gives you beautiful pass code page for using both android and ios. Demo Finger Print Usag

Yasin ilhan 61 Aug 22, 2022
A Flutter Enterprise Software Development Architecture. Start to develop your bigger app easily.

A Flutter Enterprise Software Development Architecture. Start to develop your bigger app easily.

Shibaji Debnath 36 Jan 7, 2023
Intel Corporation 238 Dec 24, 2022