0 votes

Addon.d bash script for removing apks after nightly reflash on Android 5.1 CM12.1 not working

J'essaie d'avoir un script bash dans /system/addon.d/ qui supprime les apks indésirables d'une installation nocturne d'Android 5.1 (CM12.1) pour mon téléphone Galaxy Nexus. Chaque nouveau reflash nocturne réinstallera certaines applications système, c'est pourquoi je veux un script pour inverser cette action afin que je n'aie pas à le faire manuellement.

Certains scripts de sauvegarde fonctionnent bien (SU, GApps) mais mon propre script ne fonctionne pas. Il se trouve ci-dessous.

J'ai placé le script dans /system/addon.d/ avec les permissions -rwxr-xr-x (mêmes permissions que les autres scripts dans addon.d). Lors du flashage, je ne vois pas l'écho et les applications ne sont pas supprimées.

J'ai essayé Google et recherché d'autres scripts, mais je n'arrive pas à comprendre ce que je fais de travers. L'aide est appréciée !

#!/sbin/sh
#
# /system/addon.d/80-autoclean.sh
#

. /tmp/backuptool.functions

list_files() {
cat <<EOF
AudioFX
BackupRestoreConfirmation
BasicDreams
Browser
CMAccount
CMBugReport
Calendar
CyanogenSetupWizard
DeskClock
Eleven
Email
Exchange2
Galaxy4
HTMLViewer
HoloSpiralWallpaper
LatinIME
LiveWallpapers
LiveWallpapersPicker
LockClock
NoiseField
PhaseBeam
PhotoPhase
PhotoTable
Tag
Terminal
ThemeChooser
ThemesProvider
UserDictionaryProvider
VisualizationWallpapers
VpnDialogs
EOF
}

case "$1" in
  backup)
    # Stub
  ;;
  restore)
    # Stub
  ;;
  pre-backup)
    # Stub
  ;;
  post-backup)
    # Stub
  ;;
  pre-restore)
    # Stub
  ;;
  post-restore)
    list_files | while read FILE; do
        rm -rf /system/app/$FILE.apk
        rm -rf /system/priv-app/$FILE.apk
        rm -rf /system/app/$FILE
        rm -rf /system/priv-app/$FILE
        echo "Removed $FILE"
    done
  ;;
esac

0voto

new blockhead Points 61

Tout ceci s'est fait par tâtonnement et par copie de scripts, je n'ai qu'une vague connaissance de bash et je n'ai absolument aucune idée de ce que je risque. Tout est fait avec des sauvegardes et des reflashes prudents.

#!/sbin/sh
# 
# /system/addon.d/77-MyApps.sh
#
# During a dirty flash, this script will backup files and apps at /system/*
# /system is formatted and reinstalled, then the files are restored.
#

. /tmp/backuptool.functions

list_files() {
cat <<EOF
app/ActionLauncher/base.apk
app/Dropbox/lib/arm/libblasV8.so
app/Dropbox/lib/arm/libDummyArchIndicator.so
app/Dropbox/lib/arm/librsjni.so
app/Dropbox/lib/arm/libRSSupport.so
app/Dropbox/base.apk
app/Eventbrite/base.apk
app/Flud/lib/arm/libclient.so
app/Flud/base.apk
app/GCalendar/base.apk
app/GMail/base.apk
app/GoogleCamera/lib/arm/libgcam.so
app/GoogleCamera/lib/arm/libgcam_swig_jni.so
app/GoogleCamera/lib/arm/libjni_pegutil.so
app/GoogleCamera/lib/arm/libjni_tinyplanet.so
app/GoogleCamera/lib/arm/libjpeg.so
app/GoogleCamera/lib/arm/liblightcycle.so
app/GoogleCamera/lib/arm/libnativehelper_compat_libc++.so
app/GoogleCamera/lib/arm/librefocus.so
app/GoogleCamera/lib/arm/librs.layered_filter_fast_f32.so
app/GoogleCamera/lib/arm/librsjni.so
app/GoogleCamera/lib/arm/libRSSupport.so
app/GoogleCamera/base.apk
app/GPlus/lib/arm/libcrashreporter.so
app/GPlus/lib/arm/libcronet.so
app/GPlus/lib/arm/libframesequence.so
app/GPlus/lib/arm/libphotoeditor_native.so
app/GPlus/lib/arm/libwebp_android.so
app/GPlus/base.apk
app/GPSStatus/base.apk
app/Greenify/base.apk
app/HereMaps/lib/arm/libCertResourcesPkg.so
app/HereMaps/lib/arm/libcrypto_here.so
app/HereMaps/lib/arm/libdatabase_sqlcipher.so
app/HereMaps/lib/arm/gnustl_shared.so
app/HereMaps/lib/arm/libLohitIndicFontPkg.so
app/HereMaps/lib/arm/libMapsEngineResourcePkg.so
app/HereMaps/lib/arm/libMAPSJNI.so
app/HereMaps/lib/arm/libNanumGothicFontPkg.so
app/HereMaps/lib/arm/libNuanceVocalizer.so
app/HereMaps/lib/arm/libposclient.so
app/HereMaps/lib/arm/libPureArabicFontPkg.so
app/HereMaps/lib/arm/libPureChineseFontPkg.so
app/HereMaps/lib/arm/libPureIndicSouthFontPkg.so
app/HereMaps/lib/arm/libPureThaiFontPkg.so
app/HereMaps/lib/arm/libSdkResourcePkg.so
app/HereMaps/lib/arm/libsqlcipher_android.so
app/HereMaps/lib/arm/libssl_here.so
app/HereMaps/lib/arm/libstlport_shared.so
app/HereMaps/base.apk
app/Keep/lib/arm/libsketchology_native.so
app/Keep/base.apk
app/KernelAdiutor/base.apk
app/Orbot/lib/arm/libtun2socks.so
app/Orbot/base.apk
app/Photos/lib/arm/libcrashreporterer.so
app/Photos/lib/arm/libfilterframework_jni.so
app/Photos/lib/arm/libcronet.so
app/Photos/lib/arm/libnative.so
app/Photos/lib/arm/framesequence.so
app/Photos/lib/arm/moviemaker-jni.so
app/Photos/base.apk
app/PlayGames/lib/arm/libgames_rtmp_jni.so
app/PlayGames/base.apk
app/PlayMusic/base.apk
app/Shuttle/base.apk
app/Polycon/base.apk
app/SEftp/base.apk
app/SolidExplorer/lib/arm/lib7z.so
app/SolidExplorer/lib/arm/libgif.so
app/SolidExplorer/base.apk
app/Webview/lib/arm/libwebviewchromium.so
app/Webview/base.apk
app/XDALabs/lib/arm/librealm-jni.so
app/XDALabs/base.apk
app/Xposed/base.apk
app/Youtube/lib/arm/libambisonic_audio_renderer.so
app/Youtube/lib/arm/libcronet.so
app/Youtube/lib/arm/libfilterframework_jni.so
app/Youtube/lib/arm/libluajit.so
app/Youtube/lib/arm/libm2ts_player.so
app/Youtube/lib/arm/libmoxie.so
app/Youtube/lib/arm/libmoxieclient.so
app/Youtube/lib/arm/librsjni.so
app/Youtube/lib/arm/libRSSupport.so
app/Youtube/lib/arm/libvpx.so
app/Youtube/lib/arm/libvpxJNI.so
app/Youtube/lib/arm/libvrtoolkit.so
app/Youtube/lib/arm/libwebp_android.so
app/Youtube/base.apk
EOF
}

case "$1" in
  backup)
    list_files | while read FILE DUMMY; do
      backup_file $S/$FILE
    done
  ;;
  restore)
    list_files | while read FILE REPLACEMENT; do
      R=""
      [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
      [ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
    done
rm -rf /system/app/Chromium
rm -rf /system/app/Email
rm -rf /system/app/Calendar
rm -rf /system/app/webview
  ;;
  pre-backup)
    # Stub
  ;;
  post-backup)
    # Stub
  ;;
  pre-restore)
    # Stub
  ;;
  post-restore)
    # Stub
  ;;
esac

J'ai bricolé ce script pour sauvegarder le mien (après de nombreux reflashes et restaurations) et supprimer certaines alternatives AOSP. Il semble que vous deviez écrire le code qui doit être exécuté après le flashage ici ( webview provient de l'ancienne AOSP, tandis que Webview est un désordre plus rationalisé). Le modèle est tiré de XDA en ce qui concerne grinder777. Si cela fonctionne, offrez-vous une tablette de chocolat et envoyez-lui (à elle ?) un remerciement. Si ça ne marche pas, je n'ai aucune idée de ce qui marchera, à part ce qu'a dit @Android Dev, mais ce n'est pas définitif.

EDIT : Comme YouKnowNothingJohn l'a dit, vous avez besoin d'au moins un commande de sauvegarde. Cette commande peut être n'importe quoi, même un fichier fictif (au moins dans >4.4). Merci M. Snow.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X