Android Studio: Çalıştır veya Hata Ayıklamadan önce APK'yı (veya adb komutunu) otomatik olarak nasıl kaldırabilirim?


119

Şimdi her seferinde Run\DebugAndroid Studio'da uygulamayı kaldırmam gerekiyor . Çünkü uygulamayı çalıştırmadan / hata ayıklamadan önce veritabanını yeniden oluşturmam gerekiyor. Komutu çalıştırabileceğimi biliyorum

adb uninstall [package_name]

altındaki dosyaları temizlemek için terminalde /data/data/[package_name]. Ancak her seferinde komutu yürütmek zorunda kalırsam bu uygun bir yol değildir. Umit ederim

adb uninstall

Run\Debugbutonuna tıkladığımda komut otomatik olarak çalıştırılabilir .


Uygulamanızı "Çalıştır" / "Hata Ayıkla" işleminin başında yeniden yükledi, değil mi? Yoksa başka bir uygulamayı mı kaldırmak istiyorsunuz?
cck3rry

@ cck3rry Üzgünüm, belki çok açık değildir. Uygulamayı çalıştırmadan / hata ayıklamadan önce veritabanını yeniden oluşturmam gerektiğinden "adb uninstall" komutunu çalıştırmak istiyorum.
Jagger

Neden farklı bir yaklaşım benimsemiyorsunuz ve ilk Etkinliğinizin onCreate'indeki veritabanını silecek birkaç satır kod yazmıyorsunuz? Daha sonra onu yeniden oluşturabilirsiniz. Serbest bırakmadan önce bu bloğu silmeyi unutmayın.
mattgmg1990

@ mattgmg1990 Bu, git pull / push yaptığımda her seferinde bu tür bir kodu eklemem / kaldırmam gerektiği anlamına geliyor. What a pain ...
Jagger

1
Bu cevap sizin için yararlı olabilir
PavelGP

Yanıtlar:


211
adb uninstall <package_name>

PC'niz aracılığıyla bir uygulamayı kaldırmak için kullanılabilir. Uygulamanızı Android Studio aracılığıyla her başlattığınızda bunun otomatik olarak gerçekleşmesini istiyorsanız, bunu yapabilirsiniz:

  1. Android Studio'da, Çalıştır düğmesinin solundaki açılır listeyi tıklayın ve Yapılandırmaları düzenle ... öğesini seçin.
  2. Android Uygulaması altındaki uygulamaya tıklayın ve Genel Sekmesinde 'Başlatmadan Önce' başlığını bulun
  3. + Düğmesini tıklayın, Harici aracı çalıştır öğesini seçin, açılır pencerede + düğmesini tıklayın.
  4. Bir isim (Örn. Adb uninstall) ve açıklama verin ve adbProgram: ve uninstall <your-package-name>Parametreler: yazın. Açılır pencerede Tamam'ı tıkladığınızda yeni öğenin seçildiğinden emin olun.

Not: PATH ortam değişkeninizde adb yoksa, Program: alanında adb'nin tam yolunu belirtin (örn. / Home / user / android / sdk / platform-tools / adb).


2
birkaç ipucu / not: birden fazla emülatör veya cihaz çalıştırıyorsanız, adb -s <devicename> eklemeniz gerekir. Android Studio'daki makrolar düzgün çalışmaz (v1.50.x), bu nedenle adb veya ortam yolu için tam yolu girmeniz gerekir.
Nick

@aravindsagar Cihazımın tüm paketlerini listeledim ve uygulamamın paket adı orada değildi ama yine de Hata gösteriyor [DELETE_FAILED_INTERNAL_ERROR] bunun neden olduğu hakkında herhangi bir fikriniz var mı ??
Dinesh Phalwadiya

bu önceden yüklenmiş uygulamalardan kurtulmaz değil mi?
AbhimanyuAryan

91

misal

adb uninstall com.my.firstapp

5
Pakage adını bilmiyorsanız, ancak
apk'ye sahipseniz

1
İçeriğe bir göz atarsanız, "Android Studio'da Debug / Run'dan önce otomatik olarak kaldır" diye soruyordum. Bu cevap "otomatik" bir çözüm vermedi. Daha tembel olmalıyız, değil mi? :)
Jagger

15

Paketleri şuna göre listeleyin:

adb shell su 0 pm list packages

Hangi paketi kaldırmak istediğinizi inceleyin ve paket adını buradan kopyalayın. Örneğin:

com.android.calculator2

Son olarak şunu yazın:

adb uninstall com.android.calculator2 

ve bitirdiniz.


4
Köklü olmayan kişiler için, su 0paketleri listele komutundan atlayın .
villecoder

12

Ben kullanıyorum Android Studio 2.1.2. OP ile aynı şarta sahiptim. Yukarıdaki iki yanıt herkese yardımcı olmuş gibi görünse de, benim için işe yaramadı. Benim için işe yarayan şeyleri paylaşıyorum.

Adresine gidin main menu/Run/Edit Configuration. Seç appaltında Android Applicationleft.This çok sekmeli bölmesini açmak gerekir üzerinde. GeneralSekmeyi seçin (varsayılan olacaktır), +alttaki yeşil şarkıya tıklayın (metnin altında Before launch: Gradle -awake ...).

Bir açılır menü görünecektir, seçeneği seçin Gradle-aware-make. Başka bir metin kutusu açılacaktır. :app:uninstallAllbu metin kutusuna girin . (Her şeyi yazmadan doğru hedefi belirlemek için otomatik tamamlamayı kullanmak için ctrl+ spacekullanabilirsiniz. Ayrıca sizin için uygun olan doğru uygulama adını seçmenize yardımcı olur). ve ayarlayın apply/ok. Uygulamanızı yeniden başlatın.

Not: Uygulamanızı şimdi her başlattığınızda, bu yeni hedef uygulamanızı emülatörünüzden veya cihazınızdan kaldırmaya çalışacaktır. Bu nedenle, test cihazınız mevcut değilse, launc'unuz muhtemelen kaldırılırken başarısız olacak, ancak emülatörünüzü başlatmaya devam edecektir. Öyleyse, önce öykünücünüzü başlatın veya ilk başarısız olduktan sonra yeniden başlatın (ilk başlatma gibi, kaldırma başarısız olsa da öykünücüyü başlatacaktır).


1
Bu iyi çalışıyor, ancak appgerçek modülünüzün adıyla, örneğin myMainApp.
Jimbali

1
evet, otomatik tamamlamayı kullanmak için açılır pencerede ctrl+ spacekullanın. Uygulamayı da belirler.
Jimmy

11

Tek cihaza / emülatöre bağlandığında kaldırmak istiyorsanız, aşağıdaki komutu kullanın

adb uninstall <package name>

yoksa birden fazla cihazla aşağıdaki komutu kullanın

adb -s <device ID> uninstall <package name>

4

"Adb idea" adlı bir Android Studio eklentisi kullanıyorum - herhangi bir bağlı veya simüle edilmiş cihazda hedefleyebileceğiniz çeşitli işlevler (Kaldır, Sonlandır, Başlat, vb.) İçin bir açılır menüye sahip. Bunun beni adb komutlarının gücüne dair daha derin bir anlayışa sahip olmaktan bir adım öteye götürdüğü iddia edilebilir ve muhtemelen aynı fikirdeyim .... yine de gerçekten daha düşük bir anlayış düzeyinde çalışıyorum, bu yüzden benim için bir yardımcı. ADB Fikri görüntü açıklamasını buraya girin


3

Üç aşamalı basit bir süreç (mac terminalinde kontrol edildi)

  1. Android cihazınızı bağlayın (lütfen bir seferde 1 android Cihazı bağlayın), tercihen bir kabloyla ve Bağlantıyı onaylayın (bu, Cihazın ID cihaz kimliğini listeler)

    adb devices
  2. Ardından, terminalde çalıştırarak bağlı cihazdaki tüm uygulama paketlerini listelemek için

    adb shell pm list packages -f -3 
  3. Ardından daha önce açıklandığı gibi kaldırın

    adb uninstall <package_name> 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.