Standardmäßig auf SDCard installieren


29

Ich möchte wissen, ob es eine Möglichkeit gibt, Android anzuweisen, Anwendungen standardmäßig auf der Micro-SD-Karte zu installieren, anstatt zuerst Anwendungen in den internen Speicher herunterzuladen und sie dann manuell auf die SD-Karte zu verschieben.

Vielen Dank



speziell wegen @ Yeradis Antwort android.stackexchange.com/a/4976/156
GAThrawn

4
@GAThrawn Nein, das ist kein Blödsinn. Die Frage, die Sie verknüpft haben, lautet eher "Kann man Apps auf SD verschieben?". Hier erfahren Sie, wie Sie den Standardinstallationsort angeben. Gleiche Straße, anderes Haus.
Izzy

Antworten:


33

Dieser Artikel bei HowtoGeek beschreibt eine mögliche Verwendung des :

  • Aktivieren USB-Debugging
  • Verbinden Sie Ihr Gerät mit Ihrem Computer
  • den Befehl adb shell pm setInstallLocation 2
    (oder eine neue Syntax , adb shell pm set-install-location 2)
  • trennen, fertig.

Dieser Befehl legt das Standardinstallationsziel des Geräts auf Ihre SDCard fest. Das bedeutet nicht unbedingt, dass alles dort installiert wird: Nur Apps, die dies unterstützen, werden dort installiert, und Entwickler können dies in ihren Apps-Manifesten "außer Kraft setzen", wenn sie glauben, dass dies erforderlich ist. Aus der verknüpften API-Referenz :

Ändert den Standardinstallationsort. Standortwerte:

  • 0: Auto - Lassen Sie das System den besten Standort bestimmen.
  • 1: Intern: Installation im internen Gerätespeicher.
  • 2: Extern - Installation auf externen Medien.

Hinweis: Dies ist nur zum Debuggen gedacht. Die Verwendung dieser Funktion kann zum Absturz von Anwendungen und zu unerwünschtem Verhalten führen.

Weitere Informationen zu ADB und wie Sie beispielsweise eine minimale Version davon auf Ihren Computer laden können (ohne den Overkill der Installation des gesamten SDK), finden Sie im tag-wiki .


Update: Um Verwechslungen mit der Antwort von t0mm13b zu vermeiden , sollten Sie einige Informationen zum Installationsprozess einholen :

  1. du findest eine app im und entschließt dich , sie zu installieren
  2. nachdem Sie „Install“ und vereinbarten Bedingungen / Berechtigungen, die geklickt haben heruntergeladen zu/data/local , dh auf Ihre . Das kannst du nicht ändern.
  3. Wenn der Download abgeschlossen ist, .apkwird der automatisch installiert. Wohin, hängt von mehreren Dingen ab:
    • Wenn der Entwickler die android:installLocationEigenschaft in seinen Apps nicht angegeben hat Manifest, wird die App in der internen Story installiert. Punkt, keine andere Wahl (siehe: API-Referenz ).
    • Wenn dies auf android:installLocationeingestellt preferExternalist und externer Speicher verfügbar ist, wird er dort abgelegt.
    • Wenn es gesetzt ist, autokommt es wieder darauf an:
      1. Enthält die App Widgets, Dienste, die beim Booten gestartet werden sollen, und mehrere andere Dinge, geht sie in den internen Speicher. Punkt, keine andere Wahl.
      2. Es geht dorthin, wo der "Standardinstallationsort" der Geräte zeigt

Dies kann hilfreich sein, um eine Warnung
einzuschließen

Wie ich schrieb: nur Apps, die dies unterstützen, werden dort hingehen :) Widgets, Dienste usw. sagen, dass dies nicht unterstützt :)
Izzy

nach dem Ausführen des Befehls adb shell pm setInstallLocation 2 Fehler: Gerät nicht gefunden
Moudrick

1
Das hört sich so an, als hätten Sie entweder die ersten beiden Schritte übersprungen (USB-Debugging aktivieren und anschließend das Gerät anschließen) - oder Sie arbeiten unter Windows und haben die entsprechenden Treiber nicht installiert. Bitte folgen Sie dem entsprechenden Link und gehen Sie von dort weiter, @moudrick.
Izzy

5

Das kann man nicht ändern! So funktioniert Android.

Alle Downloads von Google Play werden in das interne Dateisystem übertragen, dann von:

  • Einstellungen> Anwendungen verwalten
  • Tippe auf die App und überprüfe, ob die Schaltfläche Auf SD-Karte verschieben aktiviert ist. Dann kannst du dies tun.

Wenn die Schaltfläche Auf SD-Karte verschieben deaktiviert oder ausgegraut ist, kann dies möglicherweise dazu führen, dass die App nicht mehr funktioniert - z. B., wenn ihre eigenen Widgets auf dem Startbildschirm angezeigt werden.

Lesen Sie diese Antwort auch in der zugehörigen Seitenleiste rechts auf dieser Seite. :)


1
Bist du sicher, t0mm13b? Gab es nicht einen ADB-Befehl adb shell pm setInstallLocation 2(zB SDCard), wie hier beschrieben ?
Izzy

1
Ein Entwickler kann dies im Manifest angeben, damit die App auf die SDCard verschoben werden kann. android:installLocation="auto"Haben Sie nicht gesehen adb shell pm setInstallLocation 2, vermutlich geben Sie in diesem Fall den Paketnamen an ...
t0mm13b

1
Nein, t0mm13b - siehe meine Antwort und den verlinkten Artikel. Dadurch wird der Standardinstallationsort des Geräts festgelegt . Also wenn das Manifest"auto" sagt, dann ist es das, wo es hingeht. Wenn das Manifestanders als "auto" Manifestsagt , geht es dahin, wo das sagt. Siehe auch: API-Referenz , auch hier für den pm set-install-locationBefehl (neue Syntax).
Izzy

1
Izzy - was ich über AndroidManifests spezifiziert habe android:installLocation- aktiviert tatsächlich das Verschieben auf SDCard aus den Einstellungen zum Verwalten von Apps ... einige Entwickler spezifizieren es nicht und machen die Schaltfläche deaktiviert, aber ich gebe zu - habe nie den Befehl adb gesehen, das auch zu tun
t0mm13b

1
Ah, jetzt verstehe ich es - anderer Fokus: Sie sagten, "wenn eine App nicht auf SD installiert werden soll, können Sie das nicht" - während ich mich darauf konzentrierte, wohin sie standardmäßig geht, sofern nicht anders angegeben . Aber bitte überprüfen Sie die ersten 4 Zeilen Ihrer Antwort, sie sagen etwas anderes. Du bist aber richtig: Der Download geht erst nach /data/localund von dort wird die App installiert. Aber je nach Einstellungen und Manifest wird es entweder intern oder direkt von dort nach extern installiert. // Wenn Sie dies ausführlich diskutieren möchten: Erinnern Sie sich an unsere Kneipe? :)
Izzy

4

Installieren Sie "Terminal Emulator für Android" auf Ihrem Handy und öffnen Sie es

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

2
Interessant, aber Sie müssen Wurzel haben, damit dies funktioniert
Robert S. Barnes

-2

Gehen Sie zu "Apps verwalten", wählen Sie den Tab "Alle" und suchen Sie "Google Play Store". Tippen Sie darauf und klicken Sie dann auf die Schaltfläche "Updates deinstallieren". Gehen Sie danach in den Play Store. Alle Apps werden auf Ihrer SD-Karte installiert. Das habe ich auf meinem QMobile A110 (Android 4.2) gemacht.


1
Ich denke, Sie vermissen den mittleren Schritt irgendwo, wo Sie den Standardinstallationsort auf die SD-Karte festgelegt haben, und selbst dann funktioniert dies nicht immer für jede Anwendung.
Enigma

-3

Das Problem ist, dass Sie das Standardinstallationsverzeichnis ändern können, wenn Ihr Telefon gerootet ist. Laden Sie den Lucky Patcher herunter und tippen Sie dort auf die Tools, um die Standard-Installationsanweisung zu ändern. ** Tun Sie dies nicht für Android 4 oder höher, da dies zu irreversiblen Änderungen führen kann. **


2
Laut dem Android-Marktanteil von 2016 nutzen 97,7% aller Android-Nutzer Android 4.0 oder höher zum Zeitpunkt der Veröffentlichung dieser Antwort. Daher kann Lucky Patcher bei fast allen aktuellen Android-Nutzern irreversible Änderungen verursachen.
Karl

2
Welche "irreversiblen Veränderungen" wären das? Ich habe sie auf meinen Kitkat-Geräten nicht bemerkt :) Aber wie @karel betonte: Wenn Sie der Meinung sind, dass sie nicht verwendet werden sollten, warum empfehlen Sie sie?
Izzy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.