Android 原画品質の自動バックアップ
Azalea における Android 原画品質の自動バックアップとは、MediaStore の行を、すでにそうであるファイルとしてコピーすることです。アプリは Google フォトの「ストレージセーバー」帯域へ再圧縮しません。アプリケーション id は net.duguying.photos、iOS と同じプロトコルなので、同じバケットまたは USB ライブラリを次の端末で認領できます。原版はあなたの COS、OSS、S3、USB ツリー、または Samba 共有へ行きます。Azalea のサーバは通りません。
minSdk は 26。API 26–32 の権限は READ_EXTERNAL_STORAGE。33+ では画像と動画に分かれます。API 34 の選択した写真アクセスは本物で、ロールの残りを黙って落とします。バナーが You can currently access only the photos you selected なら、ライブラリバックアップではありません。Allow access to all をタップするか、設定を開いて Azalea Photos に写真と動画を許可してください。
USB は POSIX パスではなく、永続化した document tree です。オブジェクトストレージはバケット、リージョン、鍵のプロファイルです。通知 Azalea backup は iOS Live Activity の Android 側です。OEM がワーカーを殺したあとでも画面に残り得ます。再開は backup-index.sqlite から。それが製品であり、隠し設定ではありません。
手順
- Azalea Photos を入れる。権限ゲートを通す。Photo access is off. Open Settings and allow Photos and videos. が出たら Open Settings をタップして許可。カメラロール全体のつもりなら、ピッカーを少数のアルバムのままにしない。
- Cloud Album → Backup storage を開く。空の文言:No backup storage yet / Add Tencent COS, Alibaba OSS, S3, or a USB device. COS / OSS / S3 プロファイルは複数可。USB プロファイルは一つだけ。同時にアクティブなのは一つ。
- S3 なら Bucket、Region、AccessKey、SecretKey を埋める。英語ラボは S3 Standard us-west-2。同じ手法の中国語稿は COS Guangzhou に触れることがある。Test connection をタップ。期待は Connected (can list objects) または Read/write probe succeeded。GET だけで PUT がないサブユーザーは、最初の一枚で死ぬ。
- USB なら Choose backup folder on USB をタップ。これが
OpenDocumentTree。ツリーを許可し、アプリに URI を永続化させる。永続化を飛ばすと次回再起動まで一見うまくいく:プロファイルは残り、一覧は空。エンジン extramode=bridgeが必要。OTG が渡すのはcontent://URI だけで、そのツリーでは POSIXopen()は動かない。 - Automatic backup を有効化。HyperOS と ColorOS では電池最適化から外す。でないと通知は残ったままワーカーは死んでいる。任意:Allow cellular、Background backup only while charging、Show backup progress notification。
- ステータス画面で Pending、Uploading、Failed を見る。Pending がゼロなら、二台目で認領するか、ディスクをパソコンに挿して
.album/manifest.jsonlの伸びを見る。後で認領するつもりなら、標準のファイルマネージャでバックアップディスク上のファイルをリネームしない。
Xiaomi 14 HyperOS 2.0.5 は、家族 Synology 実験(2026年1–3月、DS220+ DSM 7.2.2、共有 photos)で NAS ジョブを何度も殺した。再開は常に「アプリを開く」であり、「もっと待つ」ではない。Huawei Mate 60 HarmonyOS 4.2.0、2026年2月22日:最初の OTG 挿しは充電のみと登録された。USB モードをファイル転送に切り替えたあと、ボリュームが document tree に出た。約 61%(5,100 / 8,359)で抜くと DeviceDetached。十二個の .<name>.<n>.tmp を捨てて書き直した。本名の下に半書きはなかった。
MediaStore の各行は一つのリソース。モーションフォトとスクリーンショットはスマートアルバム(Videos、Screenshots、Animated)に入る。空のスマートアルバムは隠れる。Android のお気に入りは、逆方向の認領後に iOS の local_identifier へ写らない。Google フォトは入れておいてよい。二系統がローカルを消したくなければ、そちらのバックアップを切る。
原画品質、そしてそれは何かではないか
「原画品質」は MediaStore が指していたファイルです。2026年4月の Pixel 8 → iPhone 16 実験で Pixel JPEG は平均 4.08 MB。3月の USB 実験で iPhone HEIC は約 3.12 MB。Azalea はどちらもトランスコードしていない。端末上ですでに 2 MB の黒 MP4 なら、バケットにも 2 MB の黒 MP4 が入る。そのファイル VID_20231102_221418.mp4 は 2026年4月2日にハッシュ検査で失敗し、復旧不能のまま。ゴミの誠実な転送は、それでもゴミ。
Google のセーバー帯域はしばしば再エンコードする。iCloud の最適化はローカルをプレースホルダに替える。Azalea の自動バックアップはどちらもしない。あとで iPhone でバケットを認領すると、バックアップ済みライブラリにそれらのキーが並ぶ。システムカメラロールはダウンロードするまで空。それが想定どおり。
WorkManager とフォアグラウンドサービスでも、OEM の客でしかない。Doze、Adaptive Battery、「バックグラウンド制限」はワーカーを止める。Azalea backup 通知は進捗の証明ではない。Status を開き Pending を読み、必要なら Resume backup。Retry all failed は実際に Failed に入った行用であり、OS がすでに殺したプロセス用ではない。
成功に見える一つの失敗
takePersistableUriPermission を飛ばした対照実験は、プロセスキル後も USB プロファイルを残し、再起動後は何も出さなかった。画面は USB デバイス設定済みとまだ言っていた。Waiting for USB device は、ツリーを再度許可するまで消えなかった。URI を永続化すること。A USB profile already exists. Only one is supported. なら、枠はもう埋まっている。二個目を足さず、そのプロファイルを編集する。
exFAT 名の : * ? はエスケープされる。アプリ内の論理キーは変わらない。末尾スペースは exFAT で食われる。Mate 60 のスティックへ Windows からコピーした静止画 新建 文本文档.JPG が安定キーを保てたのは、エスケープされた物理名がそれを持っていたから。Files でそれらのパスを片付けない。
FAQ
画面オフでも Android 原画品質の自動バックアップは動くか?
ときどき。WorkManager とフォアグラウンド通知が意図した経路。HyperOS、ColorOS 系はそれでもジョブを殺す。戻ったときに Pending が動いていなければ Azalea を開く。索引から再開。USB バックアップはさらに、アプリがフォアグラウンドでボリュームが接続されていることを求める。
Google フォトを入れたままにできるか?
できる。二人の掃除役がいらなければ Google フォトのバックアップを切る。Azalea は Google のスイッチで端末コピーを消さない。第二コピーは先にあなたのディスクかバケット上にある必要がある。
同じ S3 バケットは iPhone で使えるか?
バケット、リージョン、鍵が一致すれば使える。表示名は違ってよい。プロバイダは選んだあと読み取り専用。Android の Pending が 0 のとき iPhone で認領。Android は iOS の local_identifier を再利用できない。逆方向の認領は内容で照合する。Android から iPhone へ写真を移す と 移行の機能ページ を参照。
extra.mode=bridge は自分にとって何か?
自分では打たない。Android USB は SAF を使う。OS がアプリに生のマウントパスを渡さないため。エンジンはブリッジ経由で document tree と話す。スティックを APFS にすると Android は書けない。両端末が使うディスクは exFAT のまま。
アプリはどこで入手するか?
/ja/download。バケットのバックアップストレージ詳細は オブジェクトストレージのページ。USB ピッカーの挙動は USB のページ。