Apps auf externe Speicherkarte mit RC8 ?

Dieses Thema im Forum "Android-Betriebssystem Forum" wurde erstellt von netbus, 27. Feb. 2009.

  1. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    Ich habe nach der Anleitung von MacFloid versucht die Apps zu verschieben.
    Man sieht auch am Mounting das auf die SD ausgelagert wird.
    Aber wenn ich unter Telefon Info schaue habe ich nur mehr 65MB SD Speicher

    Code:
    /sdcard/download # busybox df -h
    Filesystem                Size      Used Available Use% Mounted on
    tmpfs                    48.4M         0     48.4M   0% /dev
    tmpfs                     4.0M         0      4.0M   0% /sqlite_stmt_journals
    /dev/block/mtdblock3     67.5M     62.6M      4.9M  93% /system
    /dev/block/loop0          1.5M      1.5M         0 100% /system/modules
    /dev/block/loop1          3.1M      3.1M         0 100% /system/xbin
    /dev/mmcblk0p2          779.8M     16.1M    724.1M   2% /system/sd
    /dev/block/mtdblock5     74.8M      5.6M     69.2M   7% /data
    /dev/block/mtdblock4     67.5M      1.1M     66.4M   2% /cache
    /dev/block/mmcblk0p1      6.8G     38.2M      6.8G   1% /sdcard
    /sdcard/download #
    
    /sdcard/download # mount
    rootfs on / type rootfs (ro)
    tmpfs on /dev type tmpfs (rw,mode=755)
    devpts on /dev/pts type devpts (rw,mode=600)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    tmpfs on /sqlite_stmt_journals type tmpfs (rw,size=4096k)
    /dev/block/mtdblock3 on /system type yaffs2 (ro)
    /dev/block/loop0 on /system/modules type cramfs (ro)
    /dev/block/loop1 on /system/xbin type cramfs (ro)
    /dev/mmcblk0p2 on /system/sd type ext2 (rw,noatime,nodiratime,errors=continue)
    /dev/block/mtdblock5 on /data type yaffs2 (rw,nosuid,nodev)
    /dev/block/mtdblock4 on /cache type yaffs2 (rw,nosuid,nodev)
    /dev/block/mmcblk0p1 on /sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1000,fmask=0711,dmask=0700,codepage=cp437,iocharset=iso8859-1,utf8)
    /sdcard/download #
    Und gibts eine Anleitung um das ganze wieder rückgängig zu machen?
     
    #1 netbus, 27. Feb. 2009
    Zuletzt bearbeitet: 27. Feb. 2009
  2. MacFloid

    MacFloid VIP Mitglied

    Registriert seit:
    12. Dez. 2006
    Beiträge:
    116
    Zustimmungen:
    1
    Ja, sieht soweit ok aus.

    Woran siehst du denn, dass du nur 65 MB frei hast? Auf welcher Partition?

    Wenn das Verschieben funktioniert hat, sieht die Seite in den Einstellungen ungefähr so aus:
     

    Anhänge:

    #2 MacFloid, 27. Feb. 2009
    Zuletzt bearbeitet: 27. Feb. 2009
  3. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    Ich sehe es am "Internal Storage"
    Aber du hast ja auch nur mehr 45MB frei.
    Ich dachte da steht dann 6GB oder so
     
  4. MacFloid

    MacFloid VIP Mitglied

    Registriert seit:
    12. Dez. 2006
    Beiträge:
    116
    Zustimmungen:
    1
    Das Handy zeigt als internen Speicher den "echten" internen freien Speicher in /data an und nicht den freien Speicher auf der SD-Karte in der Ext2-Partition. ;)

    Anhand von df -h sieht man aber, dass du es richtig gemacht hast.
     
    #4 MacFloid, 27. Feb. 2009
    Zuletzt bearbeitet: 27. Feb. 2009
  5. Autarkis

    Autarkis VIP Mitglied

    Registriert seit:
    7. Nov. 2007
    Beiträge:
    495
    Zustimmungen:
    0
     
    #5 Autarkis, 27. Feb. 2009
    Zuletzt bearbeitet: 27. Feb. 2009
  6. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    Ok. Sorry, ich habs erst jetzt geschnallt

    Wenn ich Linda File Manager gestartet habe habe ich keine Apps gesehen....
    Logisch :o

    Ist ja auf der ext2 Partition :o

    Aber wie schon geschrieben, mich irritiert der "Internal Storage"
     
  7. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    Aber ein Problem hab ich noch...
    Seit ich das gemacht habe kann ich keine Rechte einer Datei ändern.

    Code:
    / # cd /sdcard/
    /sdcard # chmod 777 install
    /sdcard # ls -l
    ----rw-rw-    1 1000     1000        33584 Feb 27 12:16 1235736988691.png
    d---rwxrwx    3 1000     1000         4096 Feb 26 21:19 amazonmp3
    d---rwxrwx    2 1000     1000         4096 Feb 27 12:16 dcim
    d---rwxrwx    3 1000     1000         4096 Feb 27 13:18 download
    ----rw-rw-    1 1000     1000          266 Feb 27 13:25 install
    d---rwxrwx    2 1000     1000         4096 Feb 26 20:49 power_manager
    ----rw-rw-    1 1000     1000     39693341 Jan 25 11:19 update.zip
    /sdcard #
    
    Ich dreh langsam durch :mad:
     
  8. Autarkis

    Autarkis VIP Mitglied

    Registriert seit:
    7. Nov. 2007
    Beiträge:
    495
    Zustimmungen:
    0
    Ähm, /sdcard ist die Windows / vfat / FAT32-Partition. Mit UNIX-Dateisystemrechten kannst du da wenig ausrichten. :D

    (Keine Sorge, wir stehen alle mal aufm Schlauch... :D)

    Wenn du Dateien ausführen willst, musst du /sdcard beim Mounten so konfigurieren, dass ALLE Dateien ausgeführt werden können. :) Hab die /etc/fstab-Parameter bzw. Kommandozeile grad nicht auswendig im Kopf. :)
     
  9. Protector

    Protector VIP Mitglied

    Registriert seit:
    7. Apr. 2007
    Beiträge:
    14.693
    Zustimmungen:
    40
    Hier kannst du bisschen in die fstab reinlesen ;) Der Grundaufbau ist immer der selbe: fstab ? Wikipedia

    Du musst also den Mountpoint deiner SD-Karte suchen dort exec hinzufügen, sodass sich da Dateien ausführen lassen ;)

    /edit

    Wenn auch das alles nichts hilft, dann wirds kritisch ;) Denn dann muss man in der udev Regel rumpfuschen und das ist...gelinde ausgedrückt...sehr schwer ;)
     
    #9 Protector, 27. Feb. 2009
    Zuletzt bearbeitet: 27. Feb. 2009
  10. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    Eine Frage hätte ich da noch.
    Wenn ich Upgrade mache oder ein anderes Rom installiere gehen dann die Apps verloren bzw muss ich das Tutorial nochmal machen?
     
  11. Autarkis

    Autarkis VIP Mitglied

    Registriert seit:
    7. Nov. 2007
    Beiträge:
    495
    Zustimmungen:
    0
    Auch die Updates die ohne Wipe - das ist das Löschen sämtlicher Einstellungen und dynamischer Daten und zurücksetzen auf die Werkseinstellungen vom Menü des HardSPL aus - installierbar sind laufen oft erst "sauber" wenn man den Wipe gemacht hat.

    Dabei gehen die Apps nicht verloren, sie sind aber nicht mehr sichtbar.
    Die SD-Karte (auch die ext2-Partition) bleibt meiner Meinung nach dabei unangetastet. (Ohne Gewähr!) Es werden nur die Symlinks durch echte Verzeichnisse ersetzt und init.rc und mountd.conf wieder mit den Standardversionen ersetzt. Wenn du nun den Vorgang wiederholen willst, brauchst du die Apps demzufolge nicht neu zu installieren, denn sie sind ja noch auf der ext2-Partition. Du musst nur dem Android-OS wieder mitteilen, dass es sie dort zu suchen hat: Das heisst, init.rc und mountd.conf anpassen und Symlinks erstellen. Dieser Hack ist ohne Gewähr!

    Ich mache es so: Vor dem Update alles backupen (Kontakte, Kalender, Apps, Notizen) mit MyBackup und Google Sync. Update aufspielen. Wipe. Reboot. Backup zurückspielen. Damit hatte ich noch keins dieser "eigenartigen" Probleme wie sie im xda-developers Forum sporadisch aufgetreten sind. :)
     
  12. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    Danke...
    Aber hast du eine Ahnung wie man ein einzelnes Programm im lokalen Storage lassen/verschieben kann?
    Weil ich habe mir Android wifi tether installiert und das hat das Problem das es nur im lokalen Speicher läuft.
    Ein schlichter Befehl mv beispiel.apk /data/app bringt die Fehlermeldung
    cross device link
     
  13. Autarkis

    Autarkis VIP Mitglied

    Registriert seit:
    7. Nov. 2007
    Beiträge:
    495
    Zustimmungen:
    0

    Hm, eine einzelne Anwendung zu verschieben sollte auch möglich sein, aber man müsste dann den ganzen Vorgang ein bischen anders angehen.

    Anstelle von das ganze Verzeichnis /data/app nach /system/sd/app zu verlinken, würde man das Verzeichnis /data/app bestehen lassen und die App alleine verlinken, etwa so (Vorsicht, hab grad keine Konsole, ist alles aus dem Kopf):

    Code:
    mkdir /system/sd/app/
    cd /data/app
    mv com.rerware.android.MyBackup.apk /system/sd/app/
    ln -s /system/sd/app
    
    Dies verschiebt die Anwendung MyBackup alleine auf die SD-Karte. :) Das sollte klappen. :)

    Nochmal: Wenn du Apps "klassisch" mit den Symlinks auf die SD-Karte verschiebst geht es nicht. Du musst nur den Teil der Verschiebung machen, die die ext2-Partition nach /system/sd mountet. Die Apps bleiben alle in /data/app (und das ist kein Symlink ;)). Dann verschiebst du die Apps einzeln nach /system/sd/app. Und danach erschaffst du Links auf diese Apps im echten Verzeichnis /data/app. Alles klar? :)
     
    #13 Autarkis, 28. Feb. 2009
    Zuletzt bearbeitet: 28. Feb. 2009
  14. netbus

    netbus Neues Mitglied

    Registriert seit:
    17. Nov. 2008
    Beiträge:
    29
    Zustimmungen:
    0
    ich sehe gerade das du mich falsch verstanden hast.
    Ich habe alle Apps auf der SD und will nur ein App (Wifi Tethering) in den lokalen Speicher verschieben.
    Weil besagtes Tool momentan nur "intern" läuft
     
  15. Autarkis

    Autarkis VIP Mitglied

    Registriert seit:
    7. Nov. 2007
    Beiträge:
    495
    Zustimmungen:
    0
    Das habe ich schon verstanden. Ich würde nur nicht empfehlen, das so zu machen wie du dir das vorstellst. ;)

    Meine Empfehlung ist: Wenn einzelne Anwendungen intern, andere auf der SD-Karte sein sollen, dann belässt man die Verzeichnisse /app/data physikalisch intern bestehen und verschiebt alle Anwendungen die man auf der SD-Karte haben will einzeln.

    So hast du dann im echten / "physikalischen" Verzeichnis /data/app die Dateien

    WifiTether (echt)
    App1 --symlink--> /system/sd/app/App1
    App2 --symlink-->/system/sd/app/App2

    Mit deiner Idee hast du im Verzeichnis /data

    Verzeichniss app --symlink--> /system/sd/app/ WifiTether --symlink--> /data/app-re/WifiTether (echt)

    Das heisst du schliesst WifiTether über zwei Symlinks wieder in den physikalischen Speicher ein. Ich rate entschieden davon ab!


    Diese Fehlermeldung kommt daher, dass /system/sd/app/ ein echtes Verzeichnis ist. /data/app ist aber kein Verzeichnis. Es ist ein Symlink auf ein Verzeichnis, und verhält sich wie eins - meistens. Wenn du aber von /system/sd/app eine Datei nach /data/app "verschieben" willst, versuchst du eine Datei auf sich selbst zu verschieben, und das noch über mehrere Devices hinweg. ;) Das ist die Macht von UNIX! Da muss man den Kopf bei der Sache haben. ;)

    Edit: Die Fehlermeldung kommt daher, weil mv in der Busybox-Variante Dateien nicht über verschiedene Devices verschieben kann. Man benötigt cp und rm.

    Update: Ich habe aufgrund von Speichermangel bei mir jetzt einzelne Apps auf die SD-Karte ausgelagert. Es funktioniert. Praktisch, denn WiFiTether läuft direkt nach Installation immer noch problemlos, aber wenn einzelne Anwendungen zu viel Speicherplatz benötigen, kann ich sie einzeln auslagern. :)
     
    #15 Autarkis, 2. März 2009
    Zuletzt bearbeitet: 7. März 2009
Die Seite wird geladen...