以前是Linux Android備份。
Open Android Backup是一個微型的Shell腳本和撲朔迷離的應用程序,它可以安全地備份Android設備,而無需供應商鎖定或使用封閉源軟件,或者使用封閉式軟件可以使您的數據處於危險之中。它基於ADB,但不使用棄用的adb backup命令。該項目在Windows,MacOS和Linux上工作。

重要的是: master分支保留用於開發。如果您正在尋找下載,請轉到發布或選擇標籤。
以下數據類型可以自動恢復回設備。
僅通過使用7 ZIP打開備份存檔,並且目前無法恢復到設備,才能查看以下數據類型。
這些事情是大多數人想要確保安全的大多數,但是每個人都有不同的期望和要求,因此歡迎建議。
sudo apt update; sudo apt install p7zip-full adb curl whiptail pv bc secure-delete zenity 。在Fedora上,使用此處的說明啟用RPM Sphere Repo:https://rpmsphere.github.io/然後執行此命令sudo dnf install p7zip p7zip-plugins adb curl newt pv secure-deletebackup.sh 。警告:MACOS測試有限,請報告您遇到的任何問題。
# Tip: Run these commands in the built-in Terminal app (or iTerm if you have that installed).
# Install Homebrew if you haven't yet
/bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh ) "
# If you already have Homebrew installed, just run these 2 commands:
brew install --cask android-platform-tools
brew install p7zip pv bash dialog coreutilsInstall步驟即可。backup-windows.ps1的文件,然後單擊“使用PowerShell運行”。重要的是:如果您在運行腳本後看到錯誤,請在設置應用程序中搜索“開發人員設置”,並應用與PowerShell相關的設置。您可能還必須打開文件的屬性,並確保在“安全性”旁邊檢查“解密”。 
只需在Windows上運行backup.sh (或backup-windows.ps1 ),腳本就會引導您完成整個過程。本節涵蓋了此程序的高級使用情況。
打開Android備份鉤可讓您毫不費力地包含自己的備份步驟,例如需要根或僅在特定設備上工作的步驟,而無需修改主腳本。您可以將這些掛鉤上傳到自己的GitHub存儲庫中,並與他人分享。
用戶的信息
在編寫或下載您想使用的掛鉤後,將其重命名為hooks.sh ,並將其與此腳本放入同一目錄中。接下來,當腳本問您時,允許使用鉤子。
信息意識的信息
使用您不信任的鉤子是我們不責任的安全風險!他們通過手機和計算機具有與打開Android備份相同的訪問權限,從而使攻擊者有可能在後門或擦除設備。在運行腳本之前,您必須檢查要使用的鉤子的內容。
打開Android備份不會自動加載鉤子,您必須在程序觸摸之前允許使用它們。
開發人員的信息
指南- 遵循這些指南,以使您的備份進行防止。
./backup-tmp/Hooks/<hook name>/ ,並確保在執行任何操作之前創建目錄。./backup-tmp ),並且如果不這樣做(在通知用戶之後),請勿執行任何操作。這使您的鉤子可以與香草備用檔案配合使用。$backup_archive獲得備份存檔路徑。有用的功能和命令
cecho <text>讓您具有黃色終端輸出。wait_for_enter等待按鍵,並且與無人看管的模式兼容。get_file <phone_directory> <phone_file> <destination>可讓您以最佳的可靠性和速度將文件複製,這是adb pull的替代方案。可用於備份數據。adb push <file> <destination>可讓您將文件上傳到設備,在還原數據時很有用。必需的功能
您需要在鉤子中使用3個功能,才能通過腳本正確初始化它:
after_backup_hook備份完成後運行的代碼,即在所有內容被壓縮到備份存檔之後。backup_hook在內部存儲,應用程序,聯繫人和其他數據之後運行的代碼已從設備上複製。restore_hook在還原過程中運行的代碼,使您可以還原以前備份的數據。請記住,該項目對自動化的支持很少,並且很少提供支持。為了導出聯繫人,您仍然需要物理訪問您要備份的設備作為“無人看管模式”的設備,尚未實現伴隨應用程序。
有10個環境變量可以控制腳本在沒有用戶輸入的情況下進行的操作:
unattended_mode而不是等待鑰匙按下,而是睡5秒鐘。可以是任何值。selected_action運行時腳本應該做什麼。可能的值是Backup和Restore (敏感)。archive_path備份路徑。用於還原和備份操作。archive_password備份密碼。mode - 腳本應如何連接到設備。可能的值是Wired , Wireless (敏感)。export_method打開Android備份的方法應用於從設備導出數據。可能的值是tar和adb (敏感) - 前者非常快,非常穩定,但可能無法在所有設備上使用,後者兼容,但存在穩定性問題。use_hooks是否使用鉤子。可能的值是yes或no (敏感)。data_erase_choice是否安全刪除臨時文件。可能的值是Fast , Slow且Extra Slow (情況敏感)。如果計算機上不存在命令srm則該變量的值將被忽略。discouraged_disable_archive禁用備份存檔的創建,僅創建一個沒有壓縮,加密或其他功能的備份目錄。不建議這樣做,儘管有些人可能會發現重複備份並節省空間很有用。默認情況下,不支持使用此選項創建的恢復備份。您必須從備份目錄中手動創建一個存檔,然後還原它。可能的值是yes或no (敏感)。compression_level 0、1、3、5、7、9。中的一個是最慢的,而0是最慢,0是壓縮和最快的水平。如果您的大多數數據已經被壓縮,例如JPG圖片或MP3視頻,則不會通過壓縮它來放鬆太多音量。示例:
# Enable unattended mode, backup the device over the wire to the working directory and use the password "123"
$ unattended_mode= " yes " selected_action= " Backup " mode= " Wired " export_method= " tar " archive_path= " . " archive_password= " 123 " ./backup.sh
# Keep unattended mode disabled, but automatically use the password "456"
$ archive_password= " 456 " ./backup.shget.openandroidbackup.me便利腳本從2024年1月1日開始棄用,這是因為與從Internet運行未經驗證的代碼相關的潛在安全含義以及對各種系統配置的有限支持。請改用官方使用說明。
計劃在2024年4月刪除該腳本,儘管如果大量人仍在使用它,它可能會停留更長的時間。
注意:您無需執行此操作,因為在GitHub版本的運行時自動下載了預編譯的Companion應用程序。
flutter doctor和flutter doctor --android-licenses 。cd companion_app/和flutter build apk 。 公關表示讚賞。
該程序是免費的軟件:您可以根據自由軟件基金會發布的GNU通用公共許可證的條款對其進行重新分配和/或修改它,該版本是該許可證的版本3,或(按您的選項)任何以後的版本。
該程序的分佈是希望它將有用的,但沒有任何保修;即使沒有對特定目的的適銷性或適合性的隱含保證。有關更多詳細信息,請參見GNU通用公共許可證。
您應該已經收到了GNU通用公共許可證的副本以及此計劃。如果沒有,請參見https://www.gnu.org/licenses/。