2012-01-28 3 views
13

Я могу установить собственное приложение в/system/app с помощью команд оболочки adb. Но как его удалить? Есть ли какие-нибудь команды для этого? Мой телефон укоренен.Как удалить собственное приложение из/system/app?

+1

Я думаю, вам может понравиться [ссылка] (http://wiki.cyanogenmod.com/wiki/Barebones) – Relsell

ответ

14

Руководство деинсталлировать с помощью АБР:

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

программным:

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

Я попробовал ваш фрагмент в своем приложении. Он был удален с домашнего экрана. Но после удаления приложения у меня возникла проблема, а затем для переустановки приложения он управляет состоянием sharedpreference. Мне нужны предпочтения, которые нужно очистить. –

+0

Этот код дает следующее исключение IO для меня: Рабочий каталог: null Окружающая среда: null Да Я использовал правильное имя приложения. – Behnam

+0

@ Campiador У вас есть корень? – XXX

1

Не уверен, что вам нужно сделать это на каждом устройстве (возможно, это может быть достигнуто только путем доступа root на некоторых устройствах), но по желанию htc вам необходимо перезагрузить компьютер в режиме восстановления Затем вы можете скопировать свой apk к SDCard, а затем с помощью ADB оболочки в папке/системы/приложения вы должны создать Nandroid резервную первую

+0

Мне жаль, что я не могу читать: D в любом случае его можно удалить в процессе восстановления mode – sherif

0

Если у вас есть доступ к корневому устройству:

ADB оболочка су монтирования -o RW, перемонтирование/система ет -rf /system/app/myApp.apk ет -rf/данные/данные/com.example.myapp монтирования -o ро, перемонтирование/система выхода выхода

3

Если у вас есть доступ к корневому устройству:

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 
Смежные вопросы