2012-01-28 21 views
13

Mogę zainstalować własną aplikację w/system/app używając poleceń powłoki adb. Ale jak go odinstalować? Czy są jakieś polecenia, żeby to zrobić? Mój telefon jest zrootowany.Jak odinstalować własną aplikację z/system/app?

+1

Zgaduję, że może chcesz przejść przez [link] (http://wiki.cyanogenmod.com/wiki/Barebones) – Relsell

Odpowiedz

14

Instrukcja deinstalacji za pomocą aDB:

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

Programowo:

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

Wypróbowałem Twój fragment w mojej aplikacji. Usunięto go z ekranu głównego. Mam problem po odinstalowaniu aplikacji, a następnie ponownym zainstalowaniu aplikacji zarządza ona stanem sharedpreference. Potrzebuję wyraźnych preferencji. –

+0

Ten kod daje mi następujący wyjątek IO: Katalog roboczy: null Środowisko: null Tak Użyłem poprawnej nazwy aplikacji. – Behnam

+0

@ Campiador Czy masz root? – XXX

1

Nie jestem pewien, czy musisz to zrobić na każdym urządzeniu (może to być osiągnięte tylko przez dostęp root na niektórych urządzeniach), ale na htc pożądane jest ponowne uruchomienie do trybu odzyskiwania Następnie możesz skopiować swój apk do sdcard, a następnie przy użyciu adb shell do/system/app folderu należy utworzyć Nandroid zapasową pierwszy

+0

Przepraszam, nie mogę przeczytać: D i tak powinno być możliwe, aby usunąć go w odzysku mode – sherif

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

zakładając, że masz dostęp do katalogu głównego urządzenia:

adb shell su mount -o rw , remount/System rm -rf /system/app/myApp.apk rm -rf/data/data/com.example.moja_aplikacja mount -o ro, remount/System wyjście wyjście

3

Zakładając masz dostępu do katalogu głównego urządzenia:

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 
Powiązane problemy