Le applicazioni non sono installate con ripristino adb


9

Ho un dispositivo Android 7.0 non rootato (NVIDIA Shield Tablet) di cui è stato precedentemente eseguito il backup

adb backup -apk -shared -all -nosystem -f mybackup.ab

Ma ripristinandolo con

adb restore mybackup.ab

risulta che /Android/data, ecc. vengono ripristinati, ma le applicazioni non vengono installate da file apk, nessun errore.

Ho dovuto estrarre i file apk da mybackup.ab e installarli manualmente in batch con adb install <...>.apk. Dopo tutto è andato tutto bene.

Sono abbastanza sicuro di aver precedentemente avuto un problema simile con 6.0. e Helium / Carbon prima, ma ho pensato che fosse specifico per il metodo di backup che ho scelto.

Qual è il problema adb restore? È perché il dispositivo non è rootato? Perché adb installfunziona come previsto allora?


Hai mai trovato una soluzione? Questo è uno dei migliori risultati di ricerca per questo problema.
Skylar Ittner,

1
@SkylarMT Non ancora. Devo ancora usare adb installin batch. Spero che qualcuno possa aiutare in questo.
Estus Flask,

Ho avuto un parziale successo con Titanium Backup per ripristinare il file di backup adb. Richiede root e non ha ottenuto tutto, ma ha ripristinato oltre la metà delle app che avevo installato.
Skylar Ittner,

Vedi se questa soluzione aiuta
beeshyams,

Risposte:


4

L'ho risolto con il seguente script

#!/bin/bash
killall adb > /dev/null 2>&1
set -e

if [ $# -ne 1 ]; then
  echo "Usage: $0 <package-name-without-ab>"
  exit 1
fi

export PATH=/opt/jdk1.8.0_152_jce/jre/bin:$PATH
ab=$1.ab
java -jar /opt/android-backup-extractor-20160710-bin/abe.jar unpack $ab $ab.tar apw; tar -xf $ab.tar --wildcards '*.apk' --strip-components=3
mv base.apk $ab.apk
rm $ab.tar
adb install $ab.apk

adb restore $ab

echo "Ready"

È inoltre necessario l'estrattore di backup Android. Come mai nella mia esperienza il backup adb non è ancora davvero sicuro. Prima di tutto alcune app possono impostare un flag, quindi non saranno backup. E il ripristino funziona solo a volte e non è sicuro, ad esempio se si cambia il dispositivo. È un peccato che nel 2018 solo Titanium Backup faccia un buon lavoro, se hai un telefono rootato.


Voterei questo due volte se potessi! 3 giorni cercando di farlo funzionare - questo ha funzionato. Nomina per "eroe della settimana" :) // Riferimento: BQ Aquaris X5 Plus su Nougat / LOS 14.1.
Izzy

Huawei Backup fa un buon lavoro anche sui telefoni Huawei. Ma lontano da Titanium :-(
niels

2

I comandi adb restorenon sono installati .apk indietro. In realtà, questo comando è solo riscrivere i file di sistema e di dati. - Sito di sviluppo Android

Se vuoi automatizzare il processo di installazione delle app:

  1. Aggiungi tutto .apk estratto in una cartella
  2. Digitare for %f in (C:\_apk folder location_\*.apk) do adb install "%f" NOTA: se si dispone di file .apk con "spazi" nei loro nomi, adb non riconosce gli spazi, riscriverli con _ o qualsiasi altra cosa.

Potete specificare il riferimento per queste informazioni se è corretto? Dato che adb backupesegue il backup di tutto, compresi gli apk, mi aspetto che adb restorefaccia la cosa opposta. Perché altrimenti sembra che gli apks sprechino spazio nel file .ab.
Estus Flask,

Nella tabella 1.> Comandi di backup e ripristino sul sito di sviluppo Android è il adb restorecomando descritto come "Ripristina il contenuto del dispositivo dal file", per me viene interpretato come file non compresso e inserito solo nel dispositivo, non in pacchetti di installazione. ha senso, penso, per l'installazione era definire il comando adb install(non ha necessariamente la funkcionality di installazione in altri comandi) ma sono d'accordo che sarebbe bello :)
MaTT Belis,

@MaTTBelis "Ripristina i contenuti dal file" per me significa ripristinare tutto ciò che il file contiene (incluso l'installazione dell'APK se presente). E fino a quando MM ha fatto esattamente questo (lo sto usando da Android 4, quando è stato introdotto). I problemi sono iniziati solo con Android 7, in cui un bug sembra impedire l'installazione dell'APK. Su alcuni dispositivi, trovi in ​​logcat che prova esattamente questo (ma fallisce senza dirlo). In realtà, per quei dispositivi la risposta di Nils funziona.
Izzy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.