2012-01-28 8 views
13

Sono in grado di installare la propria applicazione in/system/app usando i comandi della shell adb. Ma come disinstallarlo? C'è qualche comando per farlo? Il mio telefono è radicato.Come disinstallare la propria app da/system/app?

+1

Immagino che ti potrebbe piacere passare attraverso il [link] (http://wiki.cyanogenmod.com/wiki/Barebones) – Relsell

risposta

14

Manuale di disinstallazione utilizzando ADB:

http://www.careace.net/2010/05/12/how-to-remove-android-apps-through-adb/

di programmazione:

0.123.
public static void deleteFromSystem (final String file) 
    { 
     try 
     { 
      if (new File(file).exists()) 
      { 
       String path  = new File(file).getParent(); 
       Process process  = Runtime.getRuntime().exec("su"); 
       DataOutputStream os = new DataOutputStream(process.getOutputStream()); 
       os.writeBytes("mount -o rw,remount /system; \n"); 
       os.writeBytes("chmod 777 "  + path + "; \n"); 
       os.writeBytes("chmod 777 "  + file + "; \n"); 
       os.writeBytes("rm -r "   + file + "; \n"); 
       os.writeBytes("mount -o ro,remount /system; \n"); 
       os.writeBytes("reboot \n"); 
       os.flush(); 
       os.close(); 
       process.waitFor(); 
      } 
     } 
     catch (Throwable e) {e.printStackTrace();} 
    } 
+0

Ho provato il tuo snippet nella mia applicazione. È stato rimosso dalla schermata principale. Ma ho un problema dopo aver disinstallato l'app e poi reinstallato l'app gestisce lo stato di sharedpreference. Ho bisogno che le preferenze siano chiare. –

+0

Questo codice restituisce la seguente eccezione IO: Directory di lavoro: null Ambiente: null Sì, ho utilizzato il nome dell'applicazione corretto. – Behnam

+0

@ Campiador Hai root? – XXX

1

Non sono sicuro che sia necessario farlo su tutti i dispositivi (potrebbe essere possibile solo tramite l'accesso root su alcuni dispositivi) ma su htc il desiderio è necessario riavviare in modalità di ripristino Quindi è possibile copiare l'apk al sdcard e quindi utilizzando adb shell nella cartella/system/app è necessario creare un nandroid di backup prima

+0

Mi dispiace non posso leggere: D comunque dovrebbe essere possibile cancellarlo nel recupero mode – sherif

11
adb shell rm /system/app/MyApp* 
adb uninstall org.my.app 
0

Supponendo hanno accesso root al dispositivo:

adb shell su montaggio -o rw, remount/sistema rm -rf /system/app/myApp.apk rm -rf/dati/data/com.example.myapp mount -o ro, remount/sistema uscita uscita

3

Supponendo di avere accesso root al dispositivo:

adb shell 
su 
mount -o rw,remount /system 
rm -rf /system/app/myApp.apk 
rm -rf /data/data/com.example.myapp 
mount -o ro,remount /system 
exit 
exit