Varsayılan olarak SDCard’a takma


29

Uygulamaları ilk önce dahili belleğe yüklemek yerine, daha sonra bunları manuel olarak SD karta taşımak zorunda kalmadan Android'e mikro SD kartta uygulama yüklemesini söylemenin bir yolu olup olmadığını bilmek istiyorum.

Teşekkürler



özellikle @Yeradis cevabı nedeniyle android.stackexchange.com/a/4976/156
GAThrawn

4
@Gathrawn Hayır, bunun bir kopyası değil. Bağladığınız soru, "uygulamaları SD'ye taşıyabilir" değil. Bu, "varsayılan yükleme konumunun nasıl belirtileceği" dir. Aynı sokak, farklı ev.
Izzy

Yanıtlar:


33

HowtoGeek de Bu makale kullanan olası bir yolunu tarif eder :

Bu komut, cihazların varsayılan kurulum hedefini SDCard'ınıza ayarlayacaktır. Bu, mutlaka her şeyin orada kurulu olduğu anlamına gelmez : yalnızca bunu destekleyen uygulamalar oraya gider ve devs, gerektiğinde uygulamalarında bu durumu "geçersiz kılabilir". Gönderen bağlı olan API referansı :

Varsayılan yükleme konumunu değiştirir. Konum değerleri:

  • 0: Otomatik — Sistemin en iyi konuma karar vermesine izin verin.
  • 1: Dahili — dahili cihaz deposuna kurun.
  • 2: Harici — harici ortama yükleyin.

Not: Bu sadece hata ayıklama amaçlıdır; Bunun kullanılması uygulamaların bozulmasına ve diğer istenmeyen davranışlara neden olabilir.

ADB hakkında daha fazla bilgi ve örneğin bilgisayarınıza minimal bir versiyonunu nasıl elde edebileceğinizi (SDK'nın tamamını yüklemekten fazla önemsemeden) için tag-wiki'ye bir göz atabilirsiniz .


Güncelleme: t0mm13b'nin cevabı ile karışıklığı önlemek için, kurulum işleminde bir miktar izin verin:

  1. uygulama bulup yüklemeye karar veriyorsunuz
  2. Eğer tıkladıktan sonra "install" ve terimler / izinleri üzerinde anlaşmaya, indirildikten için/data/local sizin için, yani . Bunu değiştiremezsin.
  3. indirme tamamlandığında, .apkotomatik olarak yüklenir. Nereye, birden fazla şeye bağlı:
    • dev android:installLocation, uygulamalarında özelliği belirtmediyse, uygulama Manifestdahili hikayeye yüklenir. Tam durak, başka seçenek yok (bkz: API referansı ).
    • Bu android:installLocationayarlanmışsa preferExternalve harici depolama varsa, oraya gidecektir.
    • eğer ayarlanırsa auto, tekrar bağlıdır:
      1. Uygulamaya widget içeriyor mu, hizmetler, önyüklemede başlamak istiyor ve başka şeyler, dahili depolama alanına gidiyor. Tam durak, başka seçenek yok.
      2. "varsayılan yükleme konumu" aygıtlarının işaret ettiği yere gider

Bir uyarı eklemek yardımcı olabilir - işe yaramazsa, özellikle de bir uygulamanın kendi widget'ları varsa ... :)
t0mm13b 11.03.2013

Yazdığım gibi: sadece bunu destekleyen uygulamalar oraya gidecek :) Widget'lar, hizmetler vb. Desteklemediğini söylüyor :)
Izzy

adb shell pm komutunu yürüttükten sonra setInstallLocation 2 hatası: cihaz bulunamadı
moudrick 09:

1
Kulağa ilk iki adımı atlamış gibi görünüyorsunuz (USB ayıklama ve bundan sonra cihazın bağlanmasını sağlama) - ya da Windows'tasınız ve ilgili sürücüleri yüklemediniz. Lütfen ilgili bağlantıyı takip edin ve oradan devam edin, moudrick.
Izzy

5

Bu değiştirilemez! Android böyle çalışır.

Google Play'den tüm indirmeler dahili dosya sistemine gider, ardından:

  • Ayarlar> Uygulamaları yönet
  • Adı geçen uygulamaya dokunun, SDCard'a Taşı düğmesinin etkin olup olmadığını kontrol edin , sonra bunu yapabilirsiniz.

SDCard'a Taşı düğmesi devre dışı bırakılırsa veya grileşirse , büyük olasılıkla uygulamanın çalışmasını engellemek için - ana ekranda kendi widget'ları gibi.

Ayrıca, bu cevabı bu sayfanın sağındaki ilgili kenar çubuğunda da görün. :)


1
Emin misin, t0mm13b? Buradaadb shell pm setInstallLocation 2 açıklandığı gibi bazı ADB komutları (yani SDCard) yoktu mu?
Izzy

1
Bir geliştirici, uygulamaya Manifest'te SDCard'a taşınması özelliğini vereceğini belirtebilir. android:installLocation="auto"Görmediniz adb shell pm setInstallLocation 2, muhtemelen paketin adını bu durumda belirtirsiniz ...
t0mm13b

1
Hayır, t0mm13b - Cevabımı ve bağlantılı makaleye bakın. Bu, cihazın varsayılan kurulum konumunu ayarlar . Yani eğer Manifest"otomatik" yazıyorsa, orası gider. Eğer Manifest"auto" dışında yazan yere gider Manifestdiyor. Ayrıca bakınız: API ref , ayrıca (yeni sözdizimi) komutu için de buradapm set-install-location .
Izzy

1
Ben AndroidManifest en dair belirtildiğine - lzzy android:installLocation- aslında sağlayan SDCard Taşı ... bazı Devs bunu belirtmeyen yönetmek Uygulama ayarlarından ve engelli olmanın düğmeye vermektedir ama ödün - bunu adb komutunu görmedim ya
t0mm13b

1
Ah, şimdi anlıyorum - farklı bir odaklanma: “Bir uygulamanın SD'ye kurulması amaçlanmadıysa, bunu yapamazsınız” - diyorsunuz - aksi belirtilmediği sürece varsayılan olarak nereye gittiğine odaklanırken . Ama lütfen cevabınızın ilk 4 satırını kontrol edin, farklı bir şey söylüyorlar. Ancak haklısınız: İndirme ilk önce gider /data/localve oradan uygulama yüklenir. Ancak ayarlara ve bildirime bağlı olarak, oradan içeriye veya doğrudan dışarıya kurulur. // Bunu detaylı olarak tartışmak istersen: pub'ımızı hatırlıyor musun? :)
Izzy

4

Cep telefonunuzda "Android için Terminal Emulator" yükleyin ve açın

$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]

2
ilginç, ama bunun işe yaraması için kök olmalısın
Robert S. Barnes

-2

"Uygulamaları yönet" e gidin ve sonra "Tüm" sekmesini seçin ve "Google Play Store" u bulun. Üzerine dokunun ve ardından "Güncellemeleri kaldır" düğmesine basın. Bundan sonra, Play Store'a gidin ve tüm uygulamalar SD Kartınıza yüklenecektir. Bu benim QMobile A110 (Android 4.2) üzerinde yaptığım şeydi.


1
Varsayılan yükleme konumunu SD kart olarak ayarladığınız bir yerde orta adımı kaçırdığınızı ve o zaman bile her uygulama için bu şekilde çalışmadığını düşünüyorum.
Enigma

-3

Sorun şu ki, telefonunuz köklü ise, varsayılan yükleme dizinini değiştirebilirsiniz. Şanslı yamalı indirin ve varsayılan kurulum direktörünü değiştirme seçeneğini bulabileceğiniz araçlara dokunun. ** Bunu android 4 veya üzeri için yapmayın, aksi halde geri dönüşümsüz değişime neden olabilir. **


2
Android Sürüm Pazar Payına göre 2016 2016 Tüm Android kullanıcılarının % 97.7'si bu cevabın gönderildiği tarihte Android 4.0 veya üstünü kullanıyor ve bu nedenle Lucky Patcher, geçerli tüm Android kullanıcılarında geri dönüşümsüz değişikliklere neden olabilir.
karel

2
Bu ne "geri dönüşü olmayan değişiklikler" olurdu? Onları Kitkat cihazlarımda farketmedim :) Ama @karel'ın işaret ettiği gibi: Kullanılmaması gerektiğini düşünüyorsanız, neden tavsiye edersiniz?
Izzy
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.