blob: b0263de927a8ed672dee29ed870ef1ea8df5f151 [file] [log] [blame]
darkobas7e205cb2018-07-26 10:00:47 +02001#!/system/bin/sh
2#
3# ADDOND_VERSION=2
4#
5# /system/addon.d/69-gapps.sh
6#
7. /postinstall/tmp/backuptool.functions
8
9list_files() {
10cat <<EOF
11app/FaceLock/FaceLock.apk
12app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk
13app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk
14app/GoogleExtShared/GoogleExtShared.apk
15app/GoogleTTS/GoogleTTS.apk
Marko Man4c926fd2018-09-13 23:03:52 +020016app/MarkupGoogle/MarkupGoogle.apk
micky3876886cd02019-09-25 07:33:45 +020017app/SoundPickerPrebuilt/SoundPickerPrebuilt.apk
darkobas7e205cb2018-07-26 10:00:47 +020018etc/default-permissions/default-permissions.xml
19etc/default-permissions/opengapps-permissions.xml
20etc/g.prop
21etc/permissions/com.google.android.dialer.support.xml
22etc/permissions/com.google.android.maps.xml
23etc/permissions/com.google.android.media.effects.xml
darkobas7e205cb2018-07-26 10:00:47 +020024etc/permissions/privapp-permissions-google.xml
micky3876886cd02019-09-25 07:33:45 +020025etc/permissions/split-permissions-google.xml
darkobas7e205cb2018-07-26 10:00:47 +020026etc/preferred-apps/google.xml
micky3876886cd02019-09-25 07:33:45 +020027etc/sysconfig/dialer_experience.xml
Marko Manffd15b42018-09-02 09:22:40 +020028etc/sysconfig/google-hiddenapi-package-whitelist.xml
darkobas7e205cb2018-07-26 10:00:47 +020029etc/sysconfig/google.xml
30etc/sysconfig/google_build.xml
Marko Manffd15b42018-09-02 09:22:40 +020031etc/sysconfig/google_exclusives_enable.xml
darkobas7e205cb2018-07-26 10:00:47 +020032framework/com.google.android.dialer.support.jar
33framework/com.google.android.maps.jar
34framework/com.google.android.media.effects.jar
darkobas7e205cb2018-07-26 10:00:47 +020035lib/libfilterpack_facedetect.so
36lib/libfrsdk.so
micky3876886cd02019-09-25 07:33:45 +020037lib/libsketchology_native.so
darkobas7e205cb2018-07-26 10:00:47 +020038lib64/libfacenet.so
39lib64/libfilterpack_facedetect.so
40lib64/libfrsdk.so
41lib64/libjni_latinimegoogle.so
Marko Man4c926fd2018-09-13 23:03:52 +020042lib64/libsketchology_native.so
micky3876886cd02019-09-25 07:33:45 +020043priv-app/CarrierSetup/CarrierSetup.apk
darkobas7e205cb2018-07-26 10:00:47 +020044priv-app/ConfigUpdater/ConfigUpdater.apk
micky3876886cd02019-09-25 07:33:45 +020045priv-app/GmsCoreSetupPrebuilt/GmsCoreSetupPrebuilt.apk
darkobas7e205cb2018-07-26 10:00:47 +020046priv-app/GoogleBackupTransport/GoogleBackupTransport.apk
47priv-app/GoogleExtServices/GoogleExtServices.apk
48priv-app/GoogleFeedback/GoogleFeedback.apk
49priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk
micky3876886cd02019-09-25 07:33:45 +020050priv-app/GooglePackageInstaller/GooglePackageInstaller.apk
darkobas7e205cb2018-07-26 10:00:47 +020051priv-app/GooglePartnerSetup/GooglePartnerSetup.apk
micky3876886cd02019-09-25 07:33:45 +020052priv-app/GoogleRestore/GoogleRestore.apk
darkobas7e205cb2018-07-26 10:00:47 +020053priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
54priv-app/Phonesky/Phonesky.apk
micky3876886cd02019-09-25 07:33:45 +020055priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
darkobas7e205cb2018-07-26 10:00:47 +020056priv-app/SetupWizard/SetupWizard.apk
57priv-app/Turbo/Turbo.apk
58priv-app/Velvet/Velvet.apk
Marko Manf7b0f452018-09-13 02:24:52 +020059priv-app/WellbeingPrebuilt/WellbeingPrebuilt.apk
darkobas7e205cb2018-07-26 10:00:47 +020060usr/srec/en-US/APP_NAME.fst
61usr/srec/en-US/APP_NAME.syms
62usr/srec/en-US/CLG.prewalk.fst
63usr/srec/en-US/CONTACT_NAME.fst
64usr/srec/en-US/CONTACT_NAME.syms
65usr/srec/en-US/SONG_NAME.fst
66usr/srec/en-US/SONG_NAME.syms
67usr/srec/en-US/am_phonemes.syms
68usr/srec/en-US/app_bias.fst
69usr/srec/en-US/c_fst
70usr/srec/en-US/commands.abnf
71usr/srec/en-US/compile_grammar.config
72usr/srec/en-US/config.pumpkin
73usr/srec/en-US/confirmation_bias.fst
74usr/srec/en-US/contacts.abnf
75usr/srec/en-US/contacts_bias.fst
76usr/srec/en-US/contacts_disambig.fst
77usr/srec/en-US/dict
78usr/srec/en-US/dictation.config
79usr/srec/en-US/dnn
80usr/srec/en-US/embedded_class_denorm.mfar
81usr/srec/en-US/embedded_normalizer.mfar
82usr/srec/en-US/endpointer_dictation.config
83usr/srec/en-US/endpointer_model
84usr/srec/en-US/endpointer_model.mmap
85usr/srec/en-US/endpointer_voicesearch.config
86usr/srec/en-US/ep_portable_mean_stddev
87usr/srec/en-US/ep_portable_model.uint8.mmap
88usr/srec/en-US/g2p.data
89usr/srec/en-US/g2p_fst
90usr/srec/en-US/g2p_graphemes.syms
91usr/srec/en-US/g2p_phonemes.syms
92usr/srec/en-US/grammar.config
93usr/srec/en-US/hmm_symbols
94usr/srec/en-US/hmmlist
95usr/srec/en-US/input_mean_std_dev
96usr/srec/en-US/lexicon.U.fst
97usr/srec/en-US/lstm_model.uint8.data
98usr/srec/en-US/magic_mic.config
99usr/srec/en-US/media_bias.fst
100usr/srec/en-US/metadata
101usr/srec/en-US/monastery_config.pumpkin
102usr/srec/en-US/norm_fst
103usr/srec/en-US/offensive_word_normalizer.mfar
104usr/srec/en-US/offline_action_data.pb
105usr/srec/en-US/phonelist
106usr/srec/en-US/portable_lstm
107usr/srec/en-US/portable_meanstddev
108usr/srec/en-US/pumpkin.mmap
109usr/srec/en-US/read_items_bias.fst
110usr/srec/en-US/rescoring.fst.compact
111usr/srec/en-US/semantics.pumpkin
112usr/srec/en-US/skip_items_bias.fst
113usr/srec/en-US/time_bias.fst
114usr/srec/en-US/transform.mfar
115usr/srec/en-US/voice_actions.config
116usr/srec/en-US/voice_actions_compiler.config
117usr/srec/en-US/word_confidence_classifier
118usr/srec/en-US/wordlist.syms
darkobas7e205cb2018-07-26 10:00:47 +0200119EOF
120}
121
122case "$1" in
123 backup)
124 list_files | while read FILE DUMMY; do
125 backup_file $S/$FILE
126 done
127 ;;
128 restore)
129 list_files | while read FILE REPLACEMENT; do
130 R=""
131 [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
132 [ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
133 done
134 ;;
135 pre-backup)
darkobas7e205cb2018-07-26 10:00:47 +0200136 ;;
137 post-backup)
138 # Stub
139 ;;
140 pre-restore)
micky3876886cd02019-09-25 07:33:45 +0200141 # Remove/postinstall Stock/AOSP apps (from GApps Installer)
darkobas7e205cb2018-07-26 10:00:47 +0200142 rm -rf /postinstall/system/priv-app/ExtServices
143 rm -rf /postinstall/system/app/ExtShared
micky3876886cd02019-09-25 07:33:45 +0200144 rm -rf /postinstall/system/app/PackageInstaller
145 rm -rf /postinstall/system/priv-app/PackageInstaller
146 rm -rf /postinstall/system/priv-app/packageinstaller
darkobas7e205cb2018-07-26 10:00:47 +0200147 rm -rf /postinstall/system/app/Provision
148 rm -rf /postinstall/system/priv-app/Provision
149
micky3876886cd02019-09-25 07:33:45 +0200150 # Remove/postinstall 'other' apps (per installer.data)
darkobas7e205cb2018-07-26 10:00:47 +0200151 rm -rf /postinstall/system/app/BookmarkProvider
152 rm -rf /postinstall/system/app/BooksStub
153 rm -rf /postinstall/system/app/CalendarGoogle
154 rm -rf /postinstall/system/app/CloudPrint
155 rm -rf /postinstall/system/app/DeskClockGoogle
156 rm -rf /postinstall/system/app/EditorsDocsStub
157 rm -rf /postinstall/system/app/EditorsSheetsStub
158 rm -rf /postinstall/system/app/EditorsSlidesStub
159 rm -rf /postinstall/system/app/Gmail
160 rm -rf /postinstall/system/app/Gmail2
161 rm -rf /postinstall/system/app/GoogleCalendar
162 rm -rf /postinstall/system/app/GoogleCloudPrint
163 rm -rf /postinstall/system/app/GoogleHangouts
164 rm -rf /postinstall/system/app/GoogleKeep
165 rm -rf /postinstall/system/app/GoogleLatinIme
darkobas7e205cb2018-07-26 10:00:47 +0200166 rm -rf /postinstall/system/app/Keep
darkobas7e205cb2018-07-26 10:00:47 +0200167 rm -rf /postinstall/system/app/NewsstandStub
168 rm -rf /postinstall/system/app/PartnerBookmarksProvider
169 rm -rf /postinstall/system/app/PrebuiltBugleStub
170 rm -rf /postinstall/system/app/PrebuiltKeepStub
171 rm -rf /postinstall/system/app/QuickSearchBox
172 rm -rf /postinstall/system/app/Vending
173 rm -rf /postinstall/system/priv-app/GmsCore
174 rm -rf /postinstall/system/priv-app/GmsCore_update
175 rm -rf /postinstall/system/priv-app/GoogleHangouts
176 rm -rf /postinstall/system/priv-app/GoogleNow
177 rm -rf /postinstall/system/priv-app/GoogleSearch
178 rm -rf /postinstall/system/priv-app/OneTimeInitializer
179 rm -rf /postinstall/system/priv-app/QuickSearchBox
180 rm -rf /postinstall/system/priv-app/Velvet_update
181 rm -rf /postinstall/system/priv-app/Vending
182
micky3876886cd02019-09-25 07:33:45 +0200183 # Remove/postinstall 'priv-app' apps from 'app' (per installer.data)
darkobas7e205cb2018-07-26 10:00:47 +0200184 rm -rf /postinstall/system/app/CanvasPackageInstaller
185 rm -rf /postinstall/system/app/ConfigUpdater
186 rm -rf /postinstall/system/app/GoogleBackupTransport
187 rm -rf /postinstall/system/app/GoogleFeedback
188 rm -rf /postinstall/system/app/GoogleLoginService
189 rm -rf /postinstall/system/app/GoogleOneTimeInitializer
190 rm -rf /postinstall/system/app/GooglePartnerSetup
191 rm -rf /postinstall/system/app/GoogleServicesFramework
192 rm -rf /postinstall/system/app/OneTimeInitializer
193 rm -rf /postinstall/system/app/Phonesky
194 rm -rf /postinstall/system/app/PrebuiltGmsCore
195 rm -rf /postinstall/system/app/SetupWizard
196 rm -rf /postinstall/system/app/Velvet
197
micky3876886cd02019-09-25 07:33:45 +0200198 # Remove/postinstall 'required' apps (per installer.data)
darkobas7e205cb2018-07-26 10:00:47 +0200199 rm -rf /postinstall/system/app/LatinIME/lib//libjni_keyboarddecoder.so
200 rm -rf /postinstall/system/app/LatinIME/lib//libjni_latinimegoogle.so
201 rm -rf /postinstall/system/lib/libjni_keyboarddecoder.so
202 rm -rf /postinstall/system/lib/libjni_latinimegoogle.so
203 rm -rf /postinstall/system/lib64/libjni_keyboarddecoder.so
204 rm -rf /postinstall/system/lib64/libjni_latinimegoogle.so
205
206 # Remove 'user requested' apps (from gapps-config)
darkobas7e205cb2018-07-26 10:00:47 +0200207 # Stub
208 ;;
209 post-restore)
210 if [ -d "/postinstall" ]; then
211 P="/postinstall/system"
212 else
213 P="/system"
214 fi
215
Marko Manffd15b42018-09-02 09:22:40 +0200216 # Recreate required symlinks (from GApps Installer)
micky3876886cd02019-09-25 07:33:45 +0200217 install -d "$P/app/MarkupGoogle/lib/arm64"
218 ln -sfn "$P/lib64/libsketchology_native.so" "$P/app/MarkupGoogle/lib/arm64/libsketchology_native.so"
Marko Man4c926fd2018-09-13 23:03:52 +0200219 install -d "$P/app/FaceLock/lib/arm64"
220 ln -sfn "$P/lib64/libfacenet.so" "$P/app/FaceLock/lib/arm64/libfacenet.so"
221 install -d "$P/app/LatinIME/lib64/arm64"
222 ln -sfn "$P/lib64/libjni_latinimegoogle.so" "$P/app/LatinIME/lib64/arm64/libjni_latinimegoogle.so"
223 ln -sfn "$P/lib64/libjni_keyboarddecoder.so" "$P/app/LatinIME/lib64/arm64/libjni_keyboarddecoder.so"
Marko Manffd15b42018-09-02 09:22:40 +0200224
225 # Apply build.prop changes (from GApps Installer)
226 sed -i "s/ro.error.receiver.system.apps=.*/ro.error.receiver.system.apps=com.google.android.gms/g" /system/system/build.prop
227
228 # Re-pre-ODEX APKs (from GApps Installer)
229
230 # Remove any empty folders we may have created during the removal process
231 for i in /system/app /system/priv-app /system/usr/srec; do
232 if [ -d $i ]; then
233 find $i -type d -exec rmdir -p '{}' \+ 2>/dev/null;
234 fi
235 done;
darkobas7e205cb2018-07-26 10:00:47 +0200236 for i in $(list_files); do
237 chown root:root "$P/$i"
238 chmod 644 "$P/$i"
239 chmod 755 "$(dirname "$P/$i")"
Marko Manffd15b42018-09-02 09:22:40 +0200240 if [ "$API" -ge "26" ]; then # Android 8.0+ uses 0600 for its permission on build.prop
241 chmod 600 /system/build.prop
242 fi
darkobas7e205cb2018-07-26 10:00:47 +0200243 done
244
darkobas7e205cb2018-07-26 10:00:47 +0200245 ;;
micky3876886cd02019-09-25 07:33:45 +0200246esac