lin
2025-08-14 dae8bad597b6607a449b32bf76c523423f7720ed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
 
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
 
# uncomment for debugging
#export DRY_RUN="echo"
source test_backup_common.sh
 
# figure out what packages are participating in backup
b_pkgs=$(a shell dumpsys backup | \
         ruby -e 'p_stanza = STDIN.read.match(/Participants:.*?(?=Ever)/m)[0]
                  puts p_stanza.scan(/^    (.+?)\s*$/).flatten.join(" ")')
 
# wipe data for the package participating in backup
for pkg in $b_pkgs; do
    a shell bmgr wipe "$pkg"
done
 
echo 'Waiting 5 seconds for things to settle...'
sleep 5
 
# run adb as root so we can poke at com.android.backuptest's data
adb_root
 
# show commands as we go
set -x
 
# set the transport
#a shell bmgr transport com.google.android.backup/.BackupTransportService
 
# load up the three files
a shell \
   "rm /data/data/com.android.backuptest/files/file.txt ; \
    rm /data/data/com.android.backuptest/files/another_file.txt ; \
    rm /data/data/com.android.backuptest/files/empty.txt ; \
    mkdir /data/data/com.android.backuptest ; \
    mkdir /data/data/com.android.backuptest/files ; \
    mkdir /data/data/com.android.backuptest/shared_prefs ; \
    echo -n \"<map><int name=\\\"pref\\\" value=\\\"1\\\" /></map>\" \
            > /data/data/com.android.backuptest/shared_prefs/raw.xml ; \
    echo -n first file > /data/data/com.android.backuptest/files/file.txt ; \
    echo -n asdf > /data/data/com.android.backuptest/files/another_file.txt ; \
    echo -n "" > /data/data/com.android.backuptest/files/empty.txt ; \
    date >> /data/data/com.android.backuptest/files/3.txt ; \
"
#    echo -n 3 > /data/data/com.android.backuptest/files/3.txt ; \
 
# say that the data has changed
a shell bmgr backup com.android.backuptest
 
# run the backup
a shell bmgr run