Advertisement
Guest User

gapps backup

a guest
Jun 25th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.33 KB | None | 0 0
  1. #!/sbin/sh
  2.  
  3. #
  4. # /system/addon.d/70-gapps.sh
  5. #
  6.  
  7. # This file contains parts from the scripts taken from the Open GApps Project by mfonville.
  8. #
  9. # The Open GApps scripts are free software: you can redistribute it and/or modify
  10. # it under the terms of the GNU General Public License as published by
  11. # the Free Software Foundation, either version 3 of the License, or
  12. # (at your option) any later version.
  13. #
  14. # These scripts are distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. # GNU General Public License for more details.
  18.  
  19. # Execute
  20. . /tmp/backuptool.functions
  21.  
  22. # Functions & variables
  23. file_getprop() { grep "^$2" "$1" | cut -d= -f2; }
  24.  
  25. if [ -f "/system/system/build.prop" ]; then
  26. rom_build_prop=/system/system/build.prop
  27. SYSTEM=/system/system
  28. else
  29. rom_build_prop=/system/build.prop
  30. SYSTEM=/system
  31. fi
  32.  
  33. arch=$(file_getprop $rom_build_prop "ro.product.cpu.abi=")
  34.  
  35. list_files() {
  36. cat <<EOF
  37. app/FaceLock/FaceLock.apk
  38. app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk
  39. app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk
  40. app/GoogleTTS/GoogleTTS.apk
  41. etc/permissions/com.google.android.camera.experimental2016.xml
  42. etc/permissions/com.google.android.dialer.support.xml
  43. etc/permissions/com.google.android.maps.xml
  44. etc/permissions/com.google.android.media.effects.xml
  45. etc/permissions/com.google.widevine.software.drm.xml
  46. etc/preferred-apps/google.xml
  47. etc/sysconfig/google.xml
  48. etc/sysconfig/google_build.xml
  49. etc/sysconfig/google_vr_build.xml
  50. etc/sysconfig/whitelist_com.android.omadm.service.xml
  51. framework/com.google.android.camera.experimental2016.jar
  52. framework/com.google.android.dialer.support.jar
  53. framework/com.google.android.maps.jar
  54. framework/com.google.android.media.effects.jar
  55. framework/com.google.widevine.software.drm.jar
  56. lib/libfacenet.so
  57. lib/libfilterpack_facedetect.so
  58. lib/libjni_latinime.so
  59. lib/libjni_latinimegoogle.so
  60. lib64/libfacenet.so
  61. lib64/libfilterpack_facedetect.so
  62. lib64/libjni_latinime.so
  63. lib64/libjni_latinimegoogle.so
  64. priv-app/ConfigUpdater/ConfigUpdater.apk
  65. priv-app/ConnMetrics/ConnMetrics.apk
  66. priv-app/GmsCoreSetupPrebuilt/GmsCoreSetupPrebuilt.apk
  67. priv-app/GoogleBackupTransport/GoogleBackupTransport.apk
  68. priv-app/GoogleFeedback/GoogleFeedback.apk
  69. priv-app/GoogleLoginService/GoogleLoginService.apk
  70. priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk
  71. priv-app/GooglePartnerSetup/GooglePartnerSetup.apk
  72. priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
  73. priv-app/Phonesky/Phonesky.apk
  74. priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
  75. priv-app/SetupWizard/SetupWizard.apk
  76. priv-app/Velvet/Velvet.apk
  77. usr/srec/en-US/APP_NAME.fst
  78. usr/srec/en-US/APP_NAME.syms
  79. usr/srec/en-US/c_fst
  80. usr/srec/en-US/class_normalizer.mfar
  81. usr/srec/en-US/CLG.prewalk.fst
  82. usr/srec/en-US/commands.abnf
  83. usr/srec/en-US/compile_grammar.config
  84. usr/srec/en-US/config.pumpkin
  85. usr/srec/en-US/confirmation_bias.fst
  86. usr/srec/en-US/CONTACT_NAME.fst
  87. usr/srec/en-US/CONTACT_NAME.syms
  88. usr/srec/en-US/contacts.abnf
  89. usr/srec/en-US/contacts_bias.fst
  90. usr/srec/en-US/contacts_disambig.fst
  91. usr/srec/en-US/dict
  92. usr/srec/en-US/dictation.config
  93. usr/srec/en-US/dnn
  94. usr/srec/en-US/endpointer_dictation.config
  95. usr/srec/en-US/endpointer_model
  96. usr/srec/en-US/endpointer_model.mmap
  97. usr/srec/en-US/endpointer_voicesearch.config
  98. usr/srec/en-US/ep_portable_mean_stddev
  99. usr/srec/en-US/ep_portable_model.mmap
  100. usr/srec/en-US/g2p.data
  101. usr/srec/en-US/g2p_fst
  102. usr/srec/en-US/grammar.config
  103. usr/srec/en-US/graphemes.syms
  104. usr/srec/en-US/hmmlist
  105. usr/srec/en-US/hmm_symbols
  106. usr/srec/en-US/input_mean_std_dev
  107. usr/srec/en-US/lexicon.U.fst
  108. usr/srec/en-US/lstm_model.uint8.data
  109. usr/srec/en-US/magic_mic.config
  110. usr/srec/en-US/metadata
  111. usr/srec/en-US/monastery_config.pumpkin
  112. usr/srec/en-US/normalizer.mfar
  113. usr/srec/en-US/norm_fst
  114. usr/srec/en-US/offensive_word_normalizer.mfar
  115. usr/srec/en-US/offline_action_data.pb
  116. usr/srec/en-US/phonelist
  117. usr/srec/en-US/phonelist.syms
  118. usr/srec/en-US/phonemes.syms
  119. usr/srec/en-US/portable_lstm
  120. usr/srec/en-US/portable_meanstddev
  121. usr/srec/en-US/pumpkin.mmap
  122. usr/srec/en-US/rescoring.fst.louds
  123. usr/srec/en-US/semantics.pumpkin
  124. usr/srec/en-US/SONG_NAME.fst
  125. usr/srec/en-US/SONG_NAME.syms
  126. usr/srec/en-US/voice_actions.config
  127. usr/srec/en-US/voice_actions_compiler.config
  128. usr/srec/en-US/word_classifier
  129. usr/srec/en-US/wordlist.syms
  130. vendor/lib/libfrsdk.so
  131. vendor/lib64/libfrsdk.so
  132. EOF
  133. }
  134.  
  135. case "$1" in
  136. backup)
  137. list_files | while read FILE DUMMY; do
  138. backup_file $S/$FILE
  139. done
  140. ;;
  141. restore)
  142. list_files | while read FILE REPLACEMENT; do
  143. R=""
  144. [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
  145. [ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
  146. done
  147. ;;
  148. pre-backup)
  149. # Stub
  150. ;;
  151. post-backup)
  152. # Stub
  153. ;;
  154. pre-restore)
  155. # Stub
  156. ;;
  157. post-restore)
  158. # Re-remove conflicting apks
  159. rm -rf $SYSTEM/app/BrowserProviderProxy
  160. rm -rf $SYSTEM/app/PartnerBookmarksProvider
  161. rm -rf $SYSTEM/app/Provision
  162. rm -rf $SYSTEM/app/QuickSearchBox
  163. rm -rf $SYSTEM/priv-app/BrowserProviderProxy
  164. rm -rf $SYSTEM/priv-app/PartnerBookmarksProvider
  165. rm -rf $SYSTEM/priv-app/Provision
  166. rm -rf $SYSTEM/priv-app/QuickSearchBox
  167.  
  168. # Make required symbolic links
  169. if (echo "$arch" | grep -qi "armeabi"); then
  170. mkdir -p $SYSTEM/app/FaceLock/lib/arm
  171. mkdir -p $SYSTEM/app/LatinIME/lib/arm
  172. ln -sfn $SYSTEM/lib/libfacenet.so $SYSTEM/app/FaceLock/lib/arm/libfacenet.so
  173. ln -sfn $SYSTEM/lib/libjni_latinime.so $SYSTEM/app/LatinIME/lib/arm/libjni_latinime.so
  174. ln -sfn $SYSTEM/lib/libjni_latinimegoogle.so $SYSTEM/app/LatinIME/lib/arm/libjni_latinimegoogle.so
  175. elif (echo "$arch" | grep -qi "arm64"); then
  176. mkdir -p $SYSTEM/app/FaceLock/lib/arm64
  177. mkdir -p $SYSTEM/app/LatinIME/lib/arm64
  178. ln -sfn $SYSTEM/lib64/libfacenet.so $SYSTEM/app/FaceLock/lib/arm64/libfacenet.so
  179. ln -sfn $SYSTEM/lib64/libjni_latinime.so $SYSTEM/app/LatinIME/lib/arm64/libjni_latinime.so
  180. ln -sfn $SYSTEM/lib64/libjni_latinimegoogle.so $SYSTEM/app/LatinIME/lib/arm64/libjni_latinimegoogle.so
  181. fi
  182. ;;
  183. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement