Standardmäßig auf SD-Karte installieren

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

Danke

speziell wegen @Yeradis Antwort android.stackexchange.com/a/4976/156
@GAThrawn Nein, das ist kein Dupe davon. Die Frage, die Sie verlinkt haben, lautet eher "Kann man Apps auf SD verschieben". Dies ist "So geben Sie den Standardinstallationsort an". Gleiche Straße, anderes Haus.

Antworten (5)

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

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

Dieser Befehl legt das Standardinstallationsziel des Geräts auf Ihre SD-Karte fest. Das bedeutet nicht unbedingt, dass alles dort installiert wird: Nur Apps, die dies unterstützen, werden dorthin verschoben, und Entwickler können dies in ihrem App-Manifest „überstimmen“, wenn sie der Meinung sind, dass dies erforderlich ist. Aus der verlinkten API-Referenz :

Ändert den Standardinstallationsort. Standortwerte:

  • 0: Auto – Lassen Sie das System den besten Standort bestimmen.
  • 1: Intern – im internen Gerätespeicher installieren.
  • 2: Extern – auf externem Medium installieren.

Hinweis: Dies ist nur zum Debuggen gedacht; die Verwendung dieser kann dazu führen, dass Anwendungen abbrechen und andere unerwünschte Verhaltensweisen auftreten.

Für weitere Details zu ADB und wie Sie zB eine minimale Version davon auf Ihren Computer bekommen können (ohne den Overkill, das gesamte SDK zu installieren), können Sie einen Blick auf das tag-wiki werfen .


Update: Um Verwechslungen mit der Antwort von t0mm13b zu vermeiden , einige Freigaben zum Installationsprozess:

  1. Sie finden eine App im und entscheiden sich, sie zu installieren
  2. Nachdem Sie auf „Installieren“ geklickt und den Bedingungen/Berechtigungen zugestimmt haben, wird die nach heruntergeladen ,/data/local dh in Ihren . Das kannst du nicht ändern.
  3. Wenn der Download abgeschlossen ist, .apkwird automatisch installiert. Wohin, hängt von mehreren Dingen ab:
    • android:installLocationWenn der Entwickler die Eigenschaft in seinen Apps nicht angegeben Manifesthat, wird die App in der internen Story installiert. Punkt, keine andere Wahl (siehe: API-Referenz ).
    • Wenn dies android:installLocationauf eingestellt preferExternalist und ein externer Speicher verfügbar ist, wird er dorthin verschoben.
    • Wenn es auf gesetzt ist auto, hängt es wieder davon ab:
      1. Enthält die App Widgets, Dienste, möchte sie beim Booten starten und einige andere Dinge, geht sie in den internen Speicher. Punkt, keine andere Wahl.
      2. Es geht dorthin, wo der "Standardinstallationsort" des Geräts zeigt
könnte helfen, eine Warnung einzufügen - es funktioniert nicht garantiert, besonders wenn eine App ihre eigenen Widgets hat ... :)
Wie ich geschrieben habe: Nur Apps, die dies unterstützen, werden dorthin gehen :) Widgets, Dienste usw. sagen, dass sie es nicht unterstützen :)
nach Ausführen des Befehls adb shell pm setInstallLocation 2 error: device not found
Das hört sich so an, als hätten Sie entweder die ersten beiden Schritte (USB-Debugging aktivieren und danach das Gerät anschließen) übersprungen – oder Sie sind unter Windows und haben die entsprechenden Treiber nicht installiert. Bitte folgen Sie dem entsprechenden Link und fahren Sie dort fort, @moudrick.

Das lässt sich nicht ändern! So funktioniert Android.

Alle Downloads von Google Play gehen in das interne Dateisystem, dann von:

  • Einstellungen > Anwendungen verwalten
  • Tippen Sie auf diese App, prüfen Sie, ob die Schaltfläche Auf SD-Karte verschieben aktiviert ist, dann können Sie dies tun.

Wenn die Schaltfläche Auf SD-Karte verschieben deaktiviert oder ausgegraut ist, verhindert dies wahrscheinlich, dass die App funktioniert - wie z. B. ihre eigenen Widgets auf dem Startbildschirm.

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

Bist du sicher, t0mm13b? Gab es nicht einen ADB-Befehl adb shell pm setInstallLocation 2(dh SDCard), wie hier beschrieben ?
Ein Entwickler kann dies im Manifest angeben, um der App die Möglichkeit zu geben, auf die SDCard verschoben zu werden. android:installLocation="auto"Nicht gesehen adb shell pm setInstallLocation 2, vermutlich geben Sie in diesem Fall den Paketnamen an ...
Nein, t0mm13b - siehe meine Antwort und den verlinkten Artikel. Dadurch wird der Standardinstallationsort des Geräts festgelegt. Wenn also Manifest"auto" steht, geht es dorthin. Wenn das Manifestanders als "auto" sagt, geht es, wo das Manifestsagt. Siehe auch: API ref , auch hier für den pm set-install-location(neuen Syntax) Befehl.
Izzy - was ich über AndroidManifest angegeben habe android:installLocation- aktiviert tatsächlich das Verschieben auf SD -Karte aus den Einstellungen der App verwalten ... einige Entwickler geben es nicht an und machen die Schaltfläche deaktiviert, aber ich gebe zu - ich habe auch nie den adb-Befehl gesehen, um das zu tun
Ah, jetzt verstehe ich es - anderer Fokus: Sie sagten: "Wenn eine App nicht auf SD installiert werden soll, können Sie dies nicht tun" - 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 aus. Sie haben aber recht: Der Download geht zunächst auf /data/localund von dort aus wird die App installiert. Aber je nach Einstellungen und Manifest wird es von dort entweder nach intern oder direkt nach extern installiert. // Wenn Sie das ausführlich diskutieren möchten: Sie erinnern sich an unseren Pub, ähm, Chat? :)

Installieren Sie "Terminal Emulator for 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]
interessant, aber Sie müssen Root haben, damit dies funktioniert

Gehen Sie zu „Apps verwalten“ und wählen Sie dann die Registerkarte „Alle“ und suchen Sie „Google Play Store“. Tippen Sie darauf und drücken Sie dann die Schaltfläche "Updates deinstallieren". Gehen Sie danach zum Play Store, alle Apps werden auf Ihrer SD-Karte installiert. Das habe ich auf meinem QMobile A110 (Android 4.2) gemacht.

Ich denke, Sie vermissen irgendwo den mittleren Schritt, in dem Sie den Standardinstallationsort auf die SD-Karte festlegen, und selbst dann funktioniert dies nicht immer für jede Anwendung auf diese Weise.

Die Sache ist, dass Sie das Standardinstallationsverzeichnis ändern können, wenn Ihr Telefon gerootet ist. Laden Sie Lucky Patcher herunter und tippen Sie auf Tools. Dort finden Sie die Option zum Ändern des Standardinstallationsverzeichnisses. ** Tun Sie dies nicht für Android 4 oder höher, da dies zu irreversiblen Änderungen führen kann. **

Laut Android Version Market Share 2016 verwenden 97,7 % aller Android-Benutzer zum Zeitpunkt der Veröffentlichung dieser Antwort Android 4.0 oder höher, und daher kann Lucky Patcher bei fast allen aktuellen Android-Benutzern irreversible Änderungen verursachen.
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 es nicht verwendet werden sollte, warum empfehlen Sie es?