{"id":13493677,"url":"https://github.com/jberkel/sms-backup-plus","last_synced_at":"2025-05-14T11:12:21.610Z","repository":{"id":1017151,"uuid":"459348","full_name":"jberkel/sms-backup-plus","owner":"jberkel","description":"Backup Android SMS, MMS and call log to Gmail / Gcal / IMAP","archived":false,"fork":false,"pushed_at":"2025-01-22T04:13:55.000Z","size":16454,"stargazers_count":1839,"open_issues_count":180,"forks_count":498,"subscribers_count":191,"default_branch":"master","last_synced_at":"2025-05-12T11:58:08.247Z","etag":null,"topics":["android","android-backup","automatic-backups","calendar","gmail-inbox","imap-server","java","mms","restore","sms","sms-backup"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=com.zegoggles.smssync","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jberkel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-01-05T13:49:00.000Z","updated_at":"2025-05-12T08:46:13.000Z","dependencies_parsed_at":"2024-11-20T11:18:58.155Z","dependency_job_id":"c395ace1-cdda-4046-87be-57e636628e67","html_url":"https://github.com/jberkel/sms-backup-plus","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jberkel%2Fsms-backup-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jberkel%2Fsms-backup-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jberkel%2Fsms-backup-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jberkel%2Fsms-backup-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jberkel","download_url":"https://codeload.github.com/jberkel/sms-backup-plus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129525,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-backup","automatic-backups","calendar","gmail-inbox","imap-server","java","mms","restore","sms","sms-backup"],"created_at":"2024-07-31T19:01:17.766Z","updated_at":"2025-05-14T11:12:21.024Z","avatar_url":"https://github.com/jberkel.png","language":"Java","funding_links":[],"categories":["Java","Uncategorized","android"],"sub_categories":["Uncategorized"],"readme":"# SMS Backup+ \u003cimg src=\"https://raw.githubusercontent.com/jberkel/sms-backup-plus/master/metadata/play/assets/sms-backup.svg?sanitize=true\" height=\"50px\" alt=\"SMS Backup+ logo\"/\u003e [![Build Status SVG][]][Build Status] [![Open Source Helpers](https://www.codetriage.com/jberkel/sms-backup-plus/badges/users.svg)](https://www.codetriage.com/jberkel/sms-backup-plus)\n\n[\u003cimg alt=\"Get it on Google Play\" src=\"https://jberkel.github.io/sms-backup-plus/assets/img/google-play-badge.png\" height=\"80pt\"/\u003e][Google Play Store] [\u003cimg alt=\"Get it on F-Droid\" src=\"https://jberkel.github.io/sms-backup-plus/assets/img/f-droid-badge.svg\" height=\"80pt\"/\u003e][F-Droid]\n\n---------------------\n## Reporting bugs\n\nPlease read the [known issues](BUGS.md) before reporting any new issues; we already know about several significant issues, including Gmail login failures (for which there is a robust work-around), and problems with logging phone calls into calendars (which we are investigating).\n\n---------------------\n## Description\n\nThis is a fork of the now-defunct Android backup tool\n[SMS Backup](http://code.google.com/p/android-sms). It uses Gmail/IMAP to perform SMS, MMS and call log backups over\nthe network.\n\nMain features/improvements:\n\n  * Restore. SMS/Call logs stored on Gmail can be transferred back to the phone.\n    * ⚠️ MMS are not restored.\n\n  * Security. SMS Backup+ does not need your Gmail password.\n    * Where possible, SMS Backup+ uses [XOAuth2], including when matching phone numbers against\n      contact names, and writing call log records into your calendar. This access can be revoked at any time.\n    * ⚠️ In June 2019 Google [changed their API policy], introducing [sensitivity scopes], and\n      as a result SMS Backup+ [can no longer use XOAuth2] to save messages into your mailbox;\n      instead a \"password\" is required to access Gmail via IMAP, but it can be a generated\n      [application password][Sign in using App Passwords]\n      (which can be revoked without affecting your real password).\n\n  * MMS backup support (added in version 1.1)\n\n  * Call log backup (version 1.2), with Google Calendar integration\n    (1.3) and restore (1.4).\n\n  * Works with any IMAP server (but defaults to Gmail).\n\nTested with Android 4.x (Ice Cream Sandwich) - 10.x. (Q)\n\nSMS Backup+ is available for free in the [Google Play Store] and on [F-Droid],\nthere will never be a pro / paid version.\n\nBut if you find the app useful and want to support its development you can make a donation\nusing the secure in-app Play Store payment mechanism.\n\nTo get updates more frequently join the [beta programme](#beta) or download the latest beta manually\nfrom [Github releases].\n\nAlso make sure to read the [Privacy Policy][].\n\n## Usage\n\n### First steps\n\nYou need to have an IMAP account or a Gmail account with IMAP enabled. See\n[Use IMAP to check Gmail on other email clients][] to learn how to enable IMAP for your Gmail\naccount or look at this [screenshot][imapenableshot].\n\nAfter starting SMS Backup+, tap on \"Connect\" to start the authorization process.\n\n👉 1.5.11: You will first have give SMS Backup+ the permission to access your account, displayed\nas \"Allow SMS Backup+ to access your contacts?\".\n\nIf you consent you have to confirm the Gmail account to be used for the backup.\n\nIf you don't have a Google account registered on your device a browser window\nwill appear to perform a web-based authentication as fallback.\n\nAfter completing the authorization process the \"Connect\"\nswitch should be activated, indicating success. You are now ready to perform\nthe first backup.\n\n👉 1.5.11: \"Connected\" changed from checkbox to switch.\n\n### Initial backup\n\nIt is important that you perform the first backup manually. SMS Backup+ needs\nto know whether you want to upload messages currently stored on your device or\nnot.\n\nAfter having connected your Gmail account, SMS Backup+ will ask you to perform\na first backup. If you choose \"Backup\", SMS Backup+ will start backing up all\nyour messages to Gmail.\n\nIf you choose \"Skip\", nothing is sent to Gmail and all messages currently\nstored on your device are simply marked \"backed up\". This option is handy if\nyou previously uninstalled SMS Backup+ and do not want to send your messages\nagain to Gmail. Please note that any messages arrived after you last\nuninstalled SMS Backup and this initial backup won't ever be backed up to\nGmail.\n\n👉 1.5.11: Before the backup starts you will have to grant \"send and\nview\" permissions for SMS.\n\n### Restoring\n\nIf you wish to restore messages back to your phone tap \"Restore\". By default\nall messages stored on Gmail will be restored (this can be changed in \"Advanced\nSettings\").\n\n👉 1.5.11: Default changed to 500 messages.\n\nYou can safely restore to a phone which has already messages stored\non it, SMS Backup+ will skip the existing messages.\n\nBefore the restore can start you will need to confirm the change of the\ndefault SMS app. This step is required to get further permissions to write\nmessages (see also the corresponding [FAQ entry](#faq-restore-default-app)).\n\n### Call log support\n\nSMS Backup+ can also backup and restore your call logs. It stores all calls using a\nseparate label (defaults to `Call log`, but can be changed in \"Advanced\nsettings\"). If you wish you can set this to the same value as `SMS`, to make all\nbackups use the same label.\n\nThe body of the call log message contains the duration of the\ncall in seconds followed by the phone number and call type (`incoming` /\n`outgoing` / `missed`).\n\nAn example:\n\n    267s (00:04:07)\n    +44123456789 (incoming call)\n\nYou can also add call log entries to a Google calendar. Just select `Calendar\nsync` in Advanced settings, and make sure you have selected a calendar to sync\nwith.\n\nIf you only want to backup specific call types (incoming, outgoint etc.) you can\ndo so as well.\n\n👉 1.5.11: Call log backup is disabled by default. Permissions need to be confirmed\nseparately for phone and calendar access.\n\n### \u003ca id=\"RCS-support\"\u003eRich Communication Services\u003c/a\u003e\n\n[Rich Communication Services](https://en.wikipedia.org/wiki/Rich_Communication_Services) is currently not supported, nor are there any plans to support it.\nRich Communication Services is also known as _RCS_, _Advanced Messaging_, _Advanced Communications_, _joyn_ or _Message+_.\n\n### \u003ca id=\"3rdparty\"\u003e3rd party app integration\u003c/a\u003e\n\nIf you want to trigger backups from another app, enable `3rd party integration`\nin Advanced Settings and send the broadcast intent\n`com.zegoggles.smssync.BACKUP`. This will work even when Auto Backup is\ndisabled.\n\n### Usage without Gmail (IMAP)\n\nYou don't have to use Gmail to backup your text messages - change\nAuthentication to \"Plain text\" in \"Advanced settings - Custom IMAP server\",\nthen change the server address / user name and password accordingly. Make sure\nto set security to \"SSL (optional / trust all)\" if your IMAP server\nhas a self-signed certificate (\"Unknown certificate\" error during\nbackup).\n\n👉 1.5.11: security settings have been simplified. Select TLS and check\n\"Trust all certificates\" if using a self-signed certificate.\n\nAlso note that Gmail labels simply correspond to IMAP folders that will\nautomatically get created on the first backup.\n\n## \u003ca id=\"faq\"\u003eFAQ\u003c/a\u003e\n\nIf you don't find an answer here you can also visit the [Google+ community][] which might be able\nto help.\n\n  * [General questions](#faq-general)\n    * [I want to file a bug report, what should I do?](#faq-general-file-bug-report)\n    * [Can you add feature X?](#faq-general-can-you-add-feature-x)\n    * [Why does it need so many permissions?](#faq-general-permissions)\n    * [When updating the app I get 'Package file was not signed correctly'](#faq-general-package-not-signed)\n  * [Backup questions](#faq-backup)\n    * [Automatic backup does not work / stopped working](#faq-backup-automatic-backup)\n    * [I get the one of following errors during backup/restore: Command: SELECT \"SMS\"; response:...](#faq-backup-show-imap)\n    * [Only received messages are backed up, not the ones I sent](#faq-backup-only-received)\n    * [How can I make the app think that it has to do the backup again?](#faq-backup-reset)\n    * [Why do backed up SMS show up in my inbox?](#faq-backup-inbox)\n    * [I want the backed up messages to show up in my Gmail inbox!](#faq-backup-to-inbox)\n    * [What's the difference between regular and incoming backup schedule?](#faq-backup-schedule)\n    * [I'd like SMS Backup+ to schedule a backup only at a given time of the day / when Wifi is available / etc.](#faq-backup-scheduling)\n    * [The app saves only 100 SMS/MMS per contact!](#faq-backup-gmail-100)\n    * [In Gmail, I'd like to have all messages listed chronologically and not ordered by who sent them.](#faq-backup-threading)\n    * [When I delete a text locally, will it delete the saved copy on Gmail?](#faq-backup-does-it-sync)\n    * [I get the error \"Trust anchor for certification path not found\"](#faq-backup-untrusted-certificate)\n  * [Restore questions](#faq-restore)\n    * [Why does SMS Backup+ ask to become the default SMS app?](#faq-restore-default-app)\n    * [Are there any plans to support restoring of MMS?](#faq-restore-MMS)\n    * [I'm not able to restore all of my (insert huge number) messages!](#faq-restore-many-messages)\n    * [How do I restore the last N weeks / N messages?](#faq-restore-partial)\n    * [The timestamps of the restored messages is wrong / the messages are not restored in the right order](#faq-restore-reversed)\n  * [Authentication questions](#faq-authentication)\n    * [How can I revoke the app's access to my Gmail account?](#faq-authentication-revoke-access)\n    * [When connecting, I get 'Could not obtain request token...'](#faq-authentication-request-token)\n\n### \u003ca id=\"faq-general\"\u003eGeneral questions\u003c/a\u003e\n\n#### \u003ca id=\"faq-general-file-bug-report\"\u003eI want to file a bug report, what should I do?\u003c/a\u003e\n\nFirst search [Github issues][] to see if the bug has already been reported. If not, create a new\nissue and attach the following details:\n\n * Version of SMS Backup+ used\n * Version of Android / brand of phone used\n\nIf it is related to backing up / restoring you should also enable the sync log with\n\"Extra debug information\" enabled (in \"Advanced settings\") and attach a relevant portion of it.\nThe sync log is stored as `sms_backup_plus.log` (in the directory `Android/data/com.zegoggles.smssync/files`).\n\n👉 1.5.11: new log file path, was previously on external storage / sdcard.\n\nRather than including the log in the text of your issue description, please use the \"attach\nimage\" feature to attach your logfile _as text_ to your issue.\nAlternatively, create a [gist](https://gist.github.com) and link to it from your issue description.\n\nIt might also be worth to install the [current beta version](#beta) of SMS Backup+ to\nsee if the bug is also present in the development version.\n\n#### \u003ca id=\"faq-general-can-you-add-feature-x\"\u003eCan you add feature X?\u003c/a\u003e\n\nOver the years a lot of features have been added, often as a result of\nrequests by users. This has worked great initially but has made the product itself very unfocussed\nand generic. It started as a tool to back up text messages (as the name *SMS* Backup implies) but\ngradually more and more features were added (call logs, MMS, WhatsApp...). It's now at a point where\nit has become too heavy and difficult too maintain or use. The settings screen makes this obvious,\nthere are just too many things to configure. If anything features should be removed at this point,\nnot added. A more focussed product would be easier to maintain and use.\n\nRight now, SMS Backup+ is in maintenance mode; no new features will be added. Existing bugs will of\ncourse be addressed.\n\n#### \u003ca id=\"faq-general-permissions\"\u003eWhy does it need so many permissions?\u003c/a\u003e\n\n  * Read contacts - Needed to map phone numbers to names and email addresses\n  * Your messages (read / write SMS) - Needed for backup+restore\n  * Modify calendar events - needed for the call log backup to GCal\n  * Send email to guests - this refers to calendar invitations (which are not created by the app)\n  * Prevent phone from sleeping - needed to keep network active during a backup\n  * Find accounts on the device - used for authentication\n  * Use accounts on the device - used for authentication\n  * Google Play billing service - used for in-app donations\n  * Run at startup - used to enable automatic backups after reboot\n\n👉 1.5.11 introduces runtime permissions (Android 6.0+) which means that you only grant the permissions\nfor the features you actually use, after installing the application.\n\n#### \u003ca id=\"faq-general-package-not-signed\"\u003eWhen updating the app I get 'Package file was not signed correctly'\u003c/a\u003e\n\nTry uninstalling the app, then installing the new version. Make sure to select\n\"Skip\" when doing the first backup, otherwise messages will get backed up\ntwice.\n\n### \u003ca id=\"faq-backup\"\u003eBackup questions\u003c/a\u003e\n\n#### \u003ca id=\"faq-backup-automatic-backup\"\u003eAutomatic backup does not work / stopped working\u003c/a\u003e\n\nIf the automatic backup does not work first make sure that a manually\ninitiated backup works as expected.\n\n👉 1.5.11 brings many improvements to auto-backup reliability. However some beta users have\nstill reported problems. If the backups don't run automatically try changing the Android\n\"Battery optimization\" settings for SMS Backup+ to \"Don't optimize\".\n\nWhen reporting a bug related to auto backup it is essential to attach a sync log file. See\nthe [relevant FAQ](#faq-general-file-bug-report) for more information on how to do this.\n\n#### \u003ca id=\"faq-backup-show-imap\"\u003eI get the one of following errors during backup/restore: Command: SELECT \"SMS\"; response: \\#6\\# \\[NO, Unknown, Mailbox; SMS, \\[Failure\\]\\] (or response: \\#6\\# \\[NO, \\[NONEXISTENT\\], unknown mailbox: SMS (failure)\\])\u003c/a\u003e\n\nMake sure you have the \"Show IMAP\" option checked in the Gmail label settings:\n\n![Screenshot][showimap]\n\nIf this is the case make sure that the label name is set correctly (capitalization\nmatters!).\n\n#### \u003ca id=\"faq-backup-reset\"\u003eHow can I make the app think that it has to do the backup again?\u003c/a\u003e\n\nSelect \"Reset\" from the menu, and confirm that you want to reset the current\nsync state. All messages on the phone will be backed up on the next run.\n\n#### \u003ca id=\"faq-backup-only-received\"\u003eOnly received messages are backed up, not the ones I sent\u003c/a\u003e\n\nDo you use a non-standard app like Google Voice/Hangouts or Signal to send\nmessages? It could also be a device specific problem.\nRelated issues: [516][], [841][].\n\n#### \u003ca id=\"faq-backup-inbox\"\u003eWhy do backed up SMS show up in my inbox?\u003c/a\u003e\n\nThis is probably related to Gmail's automatic priority inbox filing.\nA workaround is to set up a filter with \"subject: SMS with\", let the filter\nmark it as not important.\n\n![](https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/20120106-tymk3rn4i5apshhr6e1hbd17qn.jpg)\n![](https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/20120106-rsg7912rnus5gwe3e572rxwbae.jpg)\n\n#### \u003ca id=\"faq-backup-to-inbox\"\u003eI want the backed up messages to show up in my Gmail inbox!\u003c/a\u003e\n\nJust set the label to \"Inbox\" instead of the default \"SMS\" or \"Call log\".\n\n#### \u003ca id=\"faq-backup-schedule\"\u003eWhat's the difference between regular and incoming backup schedule?\u003c/a\u003e\n\nIncoming backup schedule is used for incoming messages. 3 minutes here means\nthat any incoming SMS will trigger a backup after 3 minutes. It is a full\nbackup (including any sent messages). You should set the incoming schedule to a\nlow value if you want to make sure that incoming SMS show up in\nGmail shortly after arrival.\n\nRegular schedule is used to perform backups in specific intervals. 2 hours here\nmeans that the device will try to backup all messages every 2 hours.\n\nFewer updates performed by the app means less energy consumed, so there's\na trade-off data protection vs. battery life.\n\n#### \u003ca id=\"faq-backup-scheduling\"\u003eI'd like SMS Backup+ to schedule a backup only at a given time of the day / when Wifi is available / etc.\u003c/a\u003e\n\nIf you require more control over the backup schedule than what SMS Backup+ already\nprovides you can use a 3rd party app to trigger the backup. [Tasker][] for\nexample supports SMS Backup+ since version 1.0.14.\n\n#### \u003ca id=\"faq-backup-gmail-100\"\u003eThe app saves only 100 SMS/MMS per contact!\u003c/a\u003e\n\nThis seems to be a limitation of Gmail. After the first hundred or so SMS being\nbacked up, Gmail will cease to properly thread many of the conversations.\nYou will notice that Gmail will eventually treat each SMS (in that initial\nbackup) as individual conversations and will not longer group/thread them\ntogether.\n\nA way around this is to do a full backup 100 SMS at a time (see `Advanced\nsettings`).\n\n#### \u003ca id=\"faq-backup-threading\"\u003eIn Gmail, I'd like to have all messages listed chronologically and not ordered by who sent them.\u003c/a\u003e\n\nIt's a Gmail feature, but you can disable it.\nIn Gmail settings, set conversation view to `off`\n([screenshot][converationviewoff]).\n\n#### \u003ca id=\"faq-backup-does-it-sync\"\u003eWhen I delete a text locally, will it delete the saved copy on Gmail?\u003c/a\u003e\n\nNo. SMS Backup+ does not do a \"real\" sync, once the text has been transferred\nto Gmail it won't get modified or deleted by the app.\n\n#### \u003ca id=\"faq-backup-untrusted-certificate\"\u003eI get the error \"Trust anchor for certification path not found\"\u003c/a\u003e\n\nThis means that it is impossible to establish a trusted connection with the IMAP server. A few\nreasons why this might happen:\n\n  * You run on an ancient version of Android\n  * You use an IMAP server with an expired or self-signed certificate\n\nYou can try to set the IMAP Server Setting `Security` to `SSL (optional / trust all)`.\n\n👉 1.5.11: Added \"Trust all certificates\" option\n\n### \u003ca id=\"faq-restore\"\u003eRestore questions\u003c/a\u003e\n\n#### \u003ca id=\"faq-restore-default-app\"\u003eWhy does SMS Backup+ ask to become the default SMS app?\u003c/a\u003e\n\nGoogle has changed the way SMS permissions work starting with Android 4.4\n(KitKat). In order to get write access to your messages an app has to be set as\nthe default system SMS app. Before starting the restore operation SMS Backup+\nwill request your permission to be set as default app. After restoring you will\nbe asked to set the previous choice (usually \"Messaging\") back as default.\n⚠️ This last step is important, if you don't set the old default back you might\nlose new messages.\n\n#### \u003ca id=\"faq-restore-MMS\"\u003eAre there any plans to support restoring of MMS?\u003c/a\u003e\n\nNo, for a variety of reasons: MMS are highly carrier-dependent, documentation is lacking and the\nAndroid Emulator does not support them.\n\nHowever SMS Backup+ is open source; patches are more than welcome.\n\n#### \u003ca id=\"faq-restore-many-messages\"\u003eI'm not able to restore all of my (insert huge number) messages!\u003c/a\u003e\n\nSMS Backup has not been designed to restore many thousands of messages. See the\nquestion \"[How do I restore the last N weeks / N messages?](#faq-restore-partial)\" for a way around that.\n\n#### \u003ca id=\"faq-restore-partial\"\u003eHow do I restore the last N weeks / N messages?\u003c/a\u003e\n\nIf you have a lot of messages backed up (let's say over 5000) restoring can be\nvery slow, especially if you're only interested in the most recent messages.\n\nA workaround is to use the Gmail web interface (or an IMAP email client) to\nmove the bulk of the messages to another label in Gmail (e.g. SMSARCHIVED), and\nonly keep a few hundred or so messages in the SMS label.\n\nNext time you restore it will only restore those messages and it will be a lot\nfaster.\n\n### \u003ca id=\"faq-authentication\"\u003eAuthentication questions\u003c/a\u003e\n\n#### \u003ca id=\"faq-authentication-revoke-access\"\u003eHow can I revoke the app's access to my Gmail account?\u003c/a\u003e\n\nGo to [Authorized Access to your Google Account][] and select \"Remove Access\"\nnext to \"SMS Backup+\".\n\n#### \u003ca id=\"faq-authentication-request-token\"\u003eWhen connecting, I get 'Could not obtain request token...'\u003c/a\u003e\n\nIf you get this error message and your network connection is active\ndouble-check that your time zone settings are correct, and that the local time is\ndisplaying correctly. The authentication process won't work otherwise.\n\n## \u003ca id=\"beta\"\u003eBeta testing\u003c/a\u003e\n\nIf you want to help beta testing, visit the [Play Store beta page]. You will be asked to opt in\nto the beta program (you can leave it anytime).\n\nOnce opted in your device will automatically update to the latest beta which might have bug fixes\nand features not found in the currently released version.\n\nAlternatively you can download an APK from [Github releases][] and install it manually\n(⚠️ you won't get automatic updates this way). You can also install via [F-Droid][]\nwhich often has more recent versions than what is available on the Play Store.\n\n## \u003ca id=\"contributing\"\u003eContributing\u003c/a\u003e\n\n### Installation from source\n\n    $ git clone https://github.com/jberkel/sms-backup-plus.git\n    $ cd sms-backup-plus\n    $ ./gradlew assembleDebug\n    $ adb install app/build/outputs/apk/app-debug.apk\n\n### \u003ca id=\"translating\"\u003eTranslating the UI\u003c/a\u003e\n\nIf you want to help translating the UI to other languages download and\ntranslate the following file, then send the translated version via email:\n\n  * [strings.xml][]\n\nHowever, if you're already familiar with Git you can just clone the\nrepository and submit a [pull request][About pull requests].\n\n## \u003ca id=\"credits\"\u003eCredits\u003c/a\u003e\n\n  * [Christoph Studer](http://studer.tv/) Original author of SMS Backup (2009-2010)\n  * [Ben Dodson](https://github.com/bjdodson) - Contacts 2.0 / MMS support\n  * [Felix Knecht](https://github.com/dicer) - Call log backup code\n  * [Michael Scharfstein](https://github.com/smike) - Call log calendar ICS support\n  * [K-9 Mail](https://github.com/k9mail/k-9/) IMAP library, with some modifications ([k-9/sms-backup-plus](https://github.com/jberkel/k-9/tree/sms-backup-plus))\n  * [signpost](https://github.com/mttkay/signpost) Matthias Käppler, Signpost OAuth library\n  * Shimon Simon (new icon designs)\n  * [bbs.goapk.com](http://bbs.goapk.com) / [Chen Ma](https://github.com/marcher233), [Aaron LI](https://github.com/liweitianux) - Chinese translation\n  * [Leszek Ciesielski](https://github.com/skolima) - Polish translation\n  * Roberto Elena Ormad - Spanish translation\n  * Gabriele Ravanetti / [Patryk Rzucidlo](http://www.ptkdev.it/) / [Chiara De Liberato](http://www.chiaradeliberato.it/) - Italian translation\n  * Harun Şahin - Turkish translation\n  * [Lukas Pribyl](http://www.lukaspribyl.eu) - Czech translation\n  * João Pedro Ferreira - Portuguese translation\n  * Martijn Brouns, [Niko Strijbol](https://github.com/niknetniko) - Dutch translation\n  * [Torbe](https://github.com/Torbe) - Norwegian translation\n  * Nemanja Bračko, [Mladen Pejaković](https://github.com/pejakm) - Serbian translation\n  * [Markus Osanger](https://github.com/mosanger) - German translation\n  * Dimitris / Mazin Hussein - Greek translation\n  * [Yunsu Choi](https://github.com/YunsuChoi), [Taegil Bae](https://github.com/demokritos) - Korean translation\n  * [Javier Pico](https://github.com/javierpico) - Galician translation\n  * [Ferran Rius](https://github.com/Ferri64) - Catalan translation\n  * [Mads Andreasen](https://github.com/MadsAndreasen) - Danish translation, initial JobDispatcher code\n  * sHa - Ukrainian translation\n  * [Erik Eloff](https://github.com/Loffe/) - Swedish translation\n  * [Matrix44](https://github.com/Matrix44) - Slovak translation\n  * [László Gárdonyi](https://github.com/gLes) - Hungarian translation\n  * Petr P. Gornostaev, [saratovout](https://github.com/saratovout) - Russian translation\n\n## \u003ca id=\"screenhots\"\u003eScreenshots\u003c/a\u003e\n\n### 1.5.11\n\n![SMS Backup+ material][smsbackup_screenshot_material]\n\n### 1.5.10\n\n![SMS Backup+ holo][smsbackup_screenshot_holo]\n\n## License\n\nThis application is released under the terms of the [Apache License, Version 2.0][].\n\n[Build Status]: http://travis-ci.com/jberkel/sms-backup-plus\n[Build Status SVG]: https://api.travis-ci.com/jberkel/sms-backup-plus.svg?branch=master\n\n[XOAuth2]: https://developers.google.com/gmail/imap/xoauth2-protocol\n[changed their API policy]: https://cloud.google.com/blog/products/g-suite/elevating-user-trust-in-our-api-ecosystems\n[sensitivity scopes]: https://developers.google.com/gmail/api/auth/scopes\n[can no longer use XOAuth2]: https://arstechnica.com/gadgets/2019/06/gmails-api-lockdown-will-kill-some-third-party-app-access-starting-july-15/\n\n[GitHub Community Guidelines]: https://help.github.com/en/articles/github-community-guidelines\n[Android Police article]: https://www.androidpolice.com/2019/08/12/sms-backup-is-now-broken-due-to-gmails-api-changes-but-theres-a-workaround/\n[Sign in using App Passwords]: https://support.google.com/accounts/answer/185833?hl=en\n\n[Google Play Store]: https://play.google.com/store/apps/details?id=com.zegoggles.smssync\n[F-Droid]: https://f-droid.org/packages/com.zegoggles.smssync/\n\n[Use IMAP to check Gmail on other email clients]: https://support.google.com/mail/answer/7126229?hl=en\n[converationviewoff]: https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/soundcloud.com-mail-settings-jan-soundcloud.com.jpg\n[imapenableshot]: https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/enable_imap.png\n[showimap]: https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/show_imap.png\n[strings.xml]: https://github.com/jberkel/sms-backup-plus/raw/master/app/src/main/res/values/strings.xml\n[Tasker]: https://tasker.joaoapps.com/\n[Authorized Access to your Google Account]: https://security.google.com/settings/security/permissions\n[Google+ community]: https://plus.google.com/communities/113290889178902750997\n[Play Store beta page]: https://play.google.com/apps/testing/com.zegoggles.smssync\n[Github releases]: https://github.com/jberkel/sms-backup-plus/releases\n[Github issues]: http://github.com/jberkel/sms-backup-plus/issues\n[About pull requests]: https://help.github.com/articles/about-pull-requests/\n\n[smsbackup_screenshot_holo]: https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/smsbackup_holo_cropped.png\n[smsbackup_screenshot_material]: https://raw.github.com/jberkel/sms-backup-plus/gh-pages/screenshots/smsbackup_material_cropped.png\n\n[Apache License, Version 2.0]: http://www.apache.org/licenses/LICENSE-2.0.html\n[Privacy Policy]: https://jberkel.github.io/sms-backup-plus/privacy-policy/\n\n[516]: https://github.com/jberkel/sms-backup-plus/issues/516\n[564]: https://github.com/jberkel/sms-backup-plus/issues/564\n[841]: https://github.com/jberkel/sms-backup-plus/issues/841\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjberkel%2Fsms-backup-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjberkel%2Fsms-backup-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjberkel%2Fsms-backup-plus/lists"}