darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 1 | #!/system/bin/sh |
| 2 | # |
| 3 | # ADDOND_VERSION=2 |
| 4 | # |
| 5 | # /system/addon.d/69-gapps.sh |
| 6 | # |
| 7 | . /postinstall/tmp/backuptool.functions |
| 8 | |
| 9 | list_files() { |
| 10 | cat <<EOF |
| 11 | app/FaceLock/FaceLock.apk |
| 12 | app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk |
| 13 | app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk |
| 14 | app/GoogleExtShared/GoogleExtShared.apk |
| 15 | app/GoogleTTS/GoogleTTS.apk |
Marko Man | 4c926fd | 2018-09-13 23:03:52 +0200 | [diff] [blame] | 16 | app/MarkupGoogle/MarkupGoogle.apk |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 17 | app/SoundPickerPrebuilt/SoundPickerPrebuilt.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 18 | etc/default-permissions/default-permissions.xml |
| 19 | etc/default-permissions/opengapps-permissions.xml |
| 20 | etc/g.prop |
| 21 | etc/permissions/com.google.android.dialer.support.xml |
| 22 | etc/permissions/com.google.android.maps.xml |
| 23 | etc/permissions/com.google.android.media.effects.xml |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 24 | etc/permissions/privapp-permissions-google.xml |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 25 | etc/permissions/split-permissions-google.xml |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 26 | etc/preferred-apps/google.xml |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 27 | etc/sysconfig/dialer_experience.xml |
Marko Man | ffd15b4 | 2018-09-02 09:22:40 +0200 | [diff] [blame] | 28 | etc/sysconfig/google-hiddenapi-package-whitelist.xml |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 29 | etc/sysconfig/google.xml |
| 30 | etc/sysconfig/google_build.xml |
Marko Man | ffd15b4 | 2018-09-02 09:22:40 +0200 | [diff] [blame] | 31 | etc/sysconfig/google_exclusives_enable.xml |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 32 | framework/com.google.android.dialer.support.jar |
| 33 | framework/com.google.android.maps.jar |
| 34 | framework/com.google.android.media.effects.jar |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 35 | lib/libfilterpack_facedetect.so |
| 36 | lib/libfrsdk.so |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 37 | lib/libsketchology_native.so |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 38 | lib64/libfacenet.so |
| 39 | lib64/libfilterpack_facedetect.so |
| 40 | lib64/libfrsdk.so |
| 41 | lib64/libjni_latinimegoogle.so |
Marko Man | 4c926fd | 2018-09-13 23:03:52 +0200 | [diff] [blame] | 42 | lib64/libsketchology_native.so |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 43 | priv-app/CarrierSetup/CarrierSetup.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 44 | priv-app/ConfigUpdater/ConfigUpdater.apk |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 45 | priv-app/GmsCoreSetupPrebuilt/GmsCoreSetupPrebuilt.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 46 | priv-app/GoogleBackupTransport/GoogleBackupTransport.apk |
| 47 | priv-app/GoogleExtServices/GoogleExtServices.apk |
| 48 | priv-app/GoogleFeedback/GoogleFeedback.apk |
| 49 | priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 50 | priv-app/GooglePackageInstaller/GooglePackageInstaller.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 51 | priv-app/GooglePartnerSetup/GooglePartnerSetup.apk |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 52 | priv-app/GoogleRestore/GoogleRestore.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 53 | priv-app/GoogleServicesFramework/GoogleServicesFramework.apk |
| 54 | priv-app/Phonesky/Phonesky.apk |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 55 | priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 56 | priv-app/SetupWizard/SetupWizard.apk |
| 57 | priv-app/Turbo/Turbo.apk |
| 58 | priv-app/Velvet/Velvet.apk |
Marko Man | f7b0f45 | 2018-09-13 02:24:52 +0200 | [diff] [blame] | 59 | priv-app/WellbeingPrebuilt/WellbeingPrebuilt.apk |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 60 | usr/srec/en-US/APP_NAME.fst |
| 61 | usr/srec/en-US/APP_NAME.syms |
| 62 | usr/srec/en-US/CLG.prewalk.fst |
| 63 | usr/srec/en-US/CONTACT_NAME.fst |
| 64 | usr/srec/en-US/CONTACT_NAME.syms |
| 65 | usr/srec/en-US/SONG_NAME.fst |
| 66 | usr/srec/en-US/SONG_NAME.syms |
| 67 | usr/srec/en-US/am_phonemes.syms |
| 68 | usr/srec/en-US/app_bias.fst |
| 69 | usr/srec/en-US/c_fst |
| 70 | usr/srec/en-US/commands.abnf |
| 71 | usr/srec/en-US/compile_grammar.config |
| 72 | usr/srec/en-US/config.pumpkin |
| 73 | usr/srec/en-US/confirmation_bias.fst |
| 74 | usr/srec/en-US/contacts.abnf |
| 75 | usr/srec/en-US/contacts_bias.fst |
| 76 | usr/srec/en-US/contacts_disambig.fst |
| 77 | usr/srec/en-US/dict |
| 78 | usr/srec/en-US/dictation.config |
| 79 | usr/srec/en-US/dnn |
| 80 | usr/srec/en-US/embedded_class_denorm.mfar |
| 81 | usr/srec/en-US/embedded_normalizer.mfar |
| 82 | usr/srec/en-US/endpointer_dictation.config |
| 83 | usr/srec/en-US/endpointer_model |
| 84 | usr/srec/en-US/endpointer_model.mmap |
| 85 | usr/srec/en-US/endpointer_voicesearch.config |
| 86 | usr/srec/en-US/ep_portable_mean_stddev |
| 87 | usr/srec/en-US/ep_portable_model.uint8.mmap |
| 88 | usr/srec/en-US/g2p.data |
| 89 | usr/srec/en-US/g2p_fst |
| 90 | usr/srec/en-US/g2p_graphemes.syms |
| 91 | usr/srec/en-US/g2p_phonemes.syms |
| 92 | usr/srec/en-US/grammar.config |
| 93 | usr/srec/en-US/hmm_symbols |
| 94 | usr/srec/en-US/hmmlist |
| 95 | usr/srec/en-US/input_mean_std_dev |
| 96 | usr/srec/en-US/lexicon.U.fst |
| 97 | usr/srec/en-US/lstm_model.uint8.data |
| 98 | usr/srec/en-US/magic_mic.config |
| 99 | usr/srec/en-US/media_bias.fst |
| 100 | usr/srec/en-US/metadata |
| 101 | usr/srec/en-US/monastery_config.pumpkin |
| 102 | usr/srec/en-US/norm_fst |
| 103 | usr/srec/en-US/offensive_word_normalizer.mfar |
| 104 | usr/srec/en-US/offline_action_data.pb |
| 105 | usr/srec/en-US/phonelist |
| 106 | usr/srec/en-US/portable_lstm |
| 107 | usr/srec/en-US/portable_meanstddev |
| 108 | usr/srec/en-US/pumpkin.mmap |
| 109 | usr/srec/en-US/read_items_bias.fst |
| 110 | usr/srec/en-US/rescoring.fst.compact |
| 111 | usr/srec/en-US/semantics.pumpkin |
| 112 | usr/srec/en-US/skip_items_bias.fst |
| 113 | usr/srec/en-US/time_bias.fst |
| 114 | usr/srec/en-US/transform.mfar |
| 115 | usr/srec/en-US/voice_actions.config |
| 116 | usr/srec/en-US/voice_actions_compiler.config |
| 117 | usr/srec/en-US/word_confidence_classifier |
| 118 | usr/srec/en-US/wordlist.syms |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 119 | EOF |
| 120 | } |
| 121 | |
| 122 | case "$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) |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 136 | ;; |
| 137 | post-backup) |
| 138 | # Stub |
| 139 | ;; |
| 140 | pre-restore) |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 141 | # Remove/postinstall Stock/AOSP apps (from GApps Installer) |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 142 | rm -rf /postinstall/system/priv-app/ExtServices |
| 143 | rm -rf /postinstall/system/app/ExtShared |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 144 | rm -rf /postinstall/system/app/PackageInstaller |
| 145 | rm -rf /postinstall/system/priv-app/PackageInstaller |
| 146 | rm -rf /postinstall/system/priv-app/packageinstaller |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 147 | rm -rf /postinstall/system/app/Provision |
| 148 | rm -rf /postinstall/system/priv-app/Provision |
| 149 | |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 150 | # Remove/postinstall 'other' apps (per installer.data) |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 151 | 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 |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 166 | rm -rf /postinstall/system/app/Keep |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 167 | 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 | |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 183 | # Remove/postinstall 'priv-app' apps from 'app' (per installer.data) |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 184 | 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 | |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 198 | # Remove/postinstall 'required' apps (per installer.data) |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 199 | 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) |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 207 | # Stub |
| 208 | ;; |
| 209 | post-restore) |
| 210 | if [ -d "/postinstall" ]; then |
| 211 | P="/postinstall/system" |
| 212 | else |
| 213 | P="/system" |
| 214 | fi |
| 215 | |
Marko Man | ffd15b4 | 2018-09-02 09:22:40 +0200 | [diff] [blame] | 216 | # Recreate required symlinks (from GApps Installer) |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 217 | install -d "$P/app/MarkupGoogle/lib/arm64" |
| 218 | ln -sfn "$P/lib64/libsketchology_native.so" "$P/app/MarkupGoogle/lib/arm64/libsketchology_native.so" |
Marko Man | 4c926fd | 2018-09-13 23:03:52 +0200 | [diff] [blame] | 219 | 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 Man | ffd15b4 | 2018-09-02 09:22:40 +0200 | [diff] [blame] | 224 | |
| 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; |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 236 | for i in $(list_files); do |
| 237 | chown root:root "$P/$i" |
| 238 | chmod 644 "$P/$i" |
| 239 | chmod 755 "$(dirname "$P/$i")" |
Marko Man | ffd15b4 | 2018-09-02 09:22:40 +0200 | [diff] [blame] | 240 | if [ "$API" -ge "26" ]; then # Android 8.0+ uses 0600 for its permission on build.prop |
| 241 | chmod 600 /system/build.prop |
| 242 | fi |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 243 | done |
| 244 | |
darkobas | 7e205cb | 2018-07-26 10:00:47 +0200 | [diff] [blame] | 245 | ;; |
micky387 | 6886cd0 | 2019-09-25 07:33:45 +0200 | [diff] [blame] | 246 | esac |