SDK 2.2 Adroid Developer Api8-Frage

Pinarek

Pinarek

Ambitioniertes Mitglied
1
Hallo Leute

Ich habe mir das SDK 2.2 für MacOS herunter geladen auch alle verfügbaren Erweiterungen geladen und installiert funzt
unter macOSX SnowLeo 10.6.3 einwandfrei.

Mein englisch ist nicht so 1a (wie es eigentlich sein sollte bei solchen Programmen) und ich habe nun das problem das ich
wohl eine virtuelle SDCard angelegt habe, erst mal zu testen nur 500MB aber trotzdem das problem das der Telefonkartenspeicher
ja nur 50 Mb groß ist und das die Programme standartmässig IMMER erst in diesenkleinen Telefonkartespeicher,
anstatt auf die große SDCard installiert werden.

Das Problem, bei einer bestimmten Größe wenn der Speicher des Telefons voll ist kann ich keine APK's mehr installieren.

Auf der (nur) englisch sprachigen Developer-SDK-Seite gibts ja auch Hinweise wie man in der AndroiManifest.xml das ändern kann, so
das alle Anwendungen vorrangig auf der SDCard installiert werden. siehe hier:
<manifest> | Android Developers

Mein englisch ist nicht so gut, ich weis nicht wie ich das, so wie es dort beschreiben ist ändern soll.
Kann mir das mal Jemand in Deutsch und Schritt für Schritt erklären, demjenigen meinen großen Dank dafür.

Gruß Pinarek
 
Zuletzt bearbeitet:
Die Zauberformel heißt "preferExternal". Das musst einfach mit
Code:
android:[URL="http://developer.android.com/guide/topics/manifest/manifest-element.html#install"]installLocation[/URL]="preferExternal"
in dein Manifest an der richtigen Stelle einbinden.
 
Hallo manu...vielen Dank für deine Antwort.

ja. ist schon soweit klar, das habe ich ja auch da in diesem doku rausgelesen, ich weis blos nicht genau wie
und wo ich das in der der großen xml-Datei Androidmanifest (90KB) da einfügen soll.

Ich sehe dort keine option "installLocation".

Ich hänge dir einfach mal meine androidmanifest.xml hier mit dran.
Kannst du das dann für mich vielleicht mal einfügen ? das wäre echt nett.

Danke schon mal... Gruß Pinarek
 

Anhänge

  • AndroidManifest.xml.zip
    7,4 KB · Aufrufe: 85
Ersetze einfach folgende Zeile
Code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.apis">
Durch
Code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.apis" android:installLocation="preferExternal">
Das ist bei dir die erste Zeile nach dem Kommentar (Z.22).
 
Hallo manu... ganz GROßEN DANK an Dich. Werde es nachher mal testen ob s denn auch "wirkt".

ich mjuss erst mal weg zu einem Kumpel den sein (Scheis) Win7 einrichten, bei frisch neu gekauftem Laptop.
Muss man für das Recovery eine spezielle Partition machen und und und, und der kennt nur XP und hat 0 Ahnung von Win7 usw.

Heute Abend, hoffe noch VOR den Fußballspiel möchte ich dann wieder hier sein. Und dann danach teste ich weiter mit dem Android Simulator.

Gruß Pinarek
 
Hallo manu

Es geht also NICHT

du hast das hier empfohlen einzusetzen:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.apis" android:installLocation="preferExternal">
Original Tipp von der Andriod developer-Seite ist aber:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
... >
Siehe hier nochmal:http://developer.android.com/guide/appendix/install-location.html

So was ist denn nun richtig und hast du es SELBST denn auch getetest
oder nur abgeschrieben ?

Ich habe ja in dem Android-SDK auf meiner Platte mehrere
Ordner mit der Bezeichnung "Android".
Also Hauuptordner ist: andriod-sdk-mac_86
darin sind denn noch die Ordner add-ons, docs, platforms,samples,
temp und tools.
Die für mich wichtige androidmanifest.xml liegt im Ordner
Samples-- android-8, weil ich die Api8 nutze.

Wenn ich dort die Änderung hinzufüge von dir und auch so, wie es im original-Tipp empfohen ist,
kommt sofort, wenn ich ein neues APK installieren will die Meldung, das der Speicher voll ist (habe nur noch 5 Mb frei).
So also warum bewirkt die Änderung mit den Einträgen nichts ??

Hast du noch eine Idee dazu ?

Schick mir doch mal deine androidmanifest.xml aus deinem MacOS

Danke Gruß Pinarek
 
Zuletzt bearbeitet:
Oh, je. Bitte mach dich mit der grundlegenden Entwicklung vertraut. Du solltest schon die richtige manifest.xml nehmen. Und das ist die, die in deinem Projektordner liegt. Nur die wird in die .apk gepackt und beachtet.

Den Code nutze ich auch, allerdings mit dem Parameter "auto".

Wie du sicherlich festgestellt hast, ist das beides der selbe Code. Bei meinem Beispiel ist der Paramter für den Paketnamen schon drin. Das war in deiner XML so auch. Ohne Paketnamen, wirst du vermutlich nie deine Anwendung installieren können. Das zeigt mir leider, dass du nicht die geringsten Einsteiger-Tutorials gelesen oder verstanden hast.

Bitte schreibe dir ein Hello-World Programm. Da gibt es auch diverse Anleitungen. Wenn du das hast, dann kannst du den Paramter hinzufügen, den ich dir genannt habe und deine App kann auf die SD-Karte ausgelagert werden.

Sorry für die harten Worte.



Gruß Manu

P.S.: Ich habe kein Mac und die manifest.xml hat nichts mit dem Rechner zu tun. Jede App hat ihre eigene manifest.xml.
 
ich muss manu leider zustimmen... warum "leider"? -> hätte auch ein wenig freundlich sein können :D
 
Lieber manu und MichaelS... klar gebe ich das auch zu, das ich mich nicht sooo intensiv wie Ihr beide damit beschäftigt habe.

Nun schreibst du, das jede Anwendung Ihr eigene manifest.xml hat, was denn nun manifest.xml oder androidmanifest.xml ?
Sind doch wohl Unterschiede oder ?

Und mit Projectordner in XCode (bei MacOS) habe ich mich auch noch NIE beschäftigt. ich möchte auch nicht selber Anwendungen
wie z.B. "HalloWorld" selber erstellen, dafür habe ich keine Lust.

Ich will doch nur Apps im AndroidSimulator laufen lassen, OHNE selber Anwendungen zu schreiben bzw. zu kompilieren.

Daher wäre es doch einfacher, mir direkt zu sagen in genau welche androidmanifst.xml oder manifest.xml (falls es die gibt)
ich den Eintrag für den "preferexternal" oder "auto" einfügen muss.

Muss ich den Fast-Programmierer sein, um nur paar Apps im Simulator testen zu können ? und bischen mehr als nur in
den internen Speicher passen ?

Bitte schreib es mir nun noch einmal präzise wo ich den Eintrag nun einfügen muss.

Danke
 
Zuletzt bearbeitet:
Ich schmeiß mich weg.

Wenn du fertige Anwendungen testen willst, dann wirst du da doch wohl im manifest nichts mehr einstellen müssen oder?

Jede App hat genau eine AndroidManifest.xml Datei.
Dein installLocation Tag kommt in den <manifest ...> Tag.

Zitat:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.apis" android:installLocation="preferExternal">

Original Tipp von der Andriod developer-Seite ist aber:

Zitat:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
... >
Und das ist das gleiche.
Die Pünktchen zeigen dass da noch etwas kommt, z.B. auf jeden Fall der packagename.
Also: du fügst deinen Tag irgendwo zwischen "<manifest" und ">" ein.


Und was für ein Speicher ist voll wenn du eine App installieren willst? Der von deinem Mac, oder der Speicher der virtuellen SD-Karte deines Emulators?
 
Zuletzt bearbeitet:
Hach ja...also, wenn du damit Apps aus dem Market testen willst, hast du leider keine Chance, diesen zu sagen wo sie hin sollen. Das preferExternal muss vor dem Erstellen der App in den Programmcode der App eingefügt sein. Nachträglich kann das nicht einmal der Programmierer, er müsste die App quasi neu erstellen und in den Market stellen. Sprich wenn du als Benutzer Apps testen willst, dann musst du das auf einem echten Gerät mit genug Speicher machen. Oder einen Emulator zusammenstellen mit mehr internem Speicher für Apps. Das sollte auch gehen, ich schau grad nochmal, wo.

Edit:
In Eclipse einen neuen Emulator erstellen. Das geht unter "Window" (ganz oben in der Leiste, relativ weit rechts)-->"Android SDK und AVD Manager". In dem Fenster das sich öffnet sollte links VirtualDevices blau hinterlegt sein. Rechts auf "New". Name eingeben, Target auswählen ("Android 2.2 API 8", musst in der Liste scrollen). Unten bei Hardware rechts auf New gehen. "Device RAM Size" auswählen, relativ weit unten in der Liste. Auf Ok gehen. Fenster verschwindet, in der Liste steht "Device RAM Size: 96" (Bei mir sind es 96, du hattest wahrscheinlich noch 50 übrig weil Android von Anfang an Platz braucht.) Auf die 96 klicken, da von mir aus 500 eingeben. Unten auf "Create AVD", fertig. Have Fun.
 
Zuletzt bearbeitet:
Fr4ggOr

Ja es ist der interne Speicher (sind wohl anfangs volle 50 MB) im Androidsimulator.
Bei jedem App was man dann installiert
wirds immer weniger, bis dann immer die Meldung kommt "Speicher voll ....
Anwedungen entfernen.." so sinngemäs.

Zu FelixL... ja danke dir sehr, ich sehe DU hast voll den Durchblick, klingt auch
logisch was DU schreibst.

Wenn trotzdem was zu machen wäre, den internen Speicher von 50 MB im Androidsimulator
auf mehr zu erhähen, wäre eine sehr gute Hilfe um mehr Apps testen zu können.

Frage mich nun nur warum "manu" und er andere "MichaelS" mich hier in die Irre führen wollen,
mit Ratschlägen die ja dann garnicht greifen können, im Androidsimulator.

Wenn man selber ein App (wie z.B. HelloWorld) macht, dann ist es wahrscheinlich so das man
dort die Option auto oder preferExternal in die androidmanifest.xml einfügen kann.

FelixL guck mal ob du was findest um den internen Speicher größer zu machen, im Androidsimulator,
wäre eine echt gute Idee.

Danke schon mal... Gruß Pinarek

NACHTRAG: FelixL habe eben gerade deinen Nachtrag gelesen.
Ja ich mache das zwar alles unter macoSX 10.6.3, habe die Sache aber auch schon
gesehen und damit Tests gemacht.
Da war aber das selbe Phenomen zu beobachten. Ich habe es auch mit einer neuen
Virtualen Device gemacht. Habe dort "Device RAM Size" von 96 auf 128 gesetzt. Meine
virtuelle SDCard habe ich mit 500 Mb veranschlagt, was auch einwandfrei funzt.

Habe dann auch mal gleich im nackten System, also ohne ein App installiert zu haben in
Einstellungen nach SDCard&Telefonspeicher geguckt und da stand dann gleich auch nur
45Mb frei.

Ich denke die Option "Device RAM Size" hat nichts mit dem internen (Telefonspeicher) zu tun,
es ist scheinbar der Ram gemeint, den der Simulator zum arbeiten zur Verfügung hat.

Um den internen (Telefonspeicher) zu vergrößern habe ich in all den Optionen die
es ja beim erstellen eines neuen Virt. Devices gibt, nichts gefunden.
Das muss irgend wie anders möglich (oder auch garnicht) sein.

Gruß Pinarek
 
Zuletzt bearbeitet:
Hallo FelixL

Ich habe nun mal paar Optionen noch geändert, VOR dem erstellen einer neuen Virt.Device, siehe Bilder.
Wieder das selbe Ergebnis, immer nur ca. 44 MB interner (Telefonspeicher) stehen zu Verfügung.

Vielleicht hast du noch einen Tipp ??

Danke und Gruß Pinarek

Oder liegts daran das ich das MacOSX Snow Leopard 10.6.3 mit 64 Bit Modus betreibe ??

Wie ist denn dein Telefonspeicher (interner Speicher) mit den Optionen wie "Device RAM Size"
als z.B. 200 MB ?? Hast du denn da ca. 180 MB als interner Speicher verfügbar? schon mal probiert ?
 

Anhänge

  • Mein-AndriodSimulator1.jpg
    Mein-AndriodSimulator1.jpg
    44,1 KB · Aufrufe: 243
  • Die-Optionen-der-virt.Device.jpg
    Die-Optionen-der-virt.Device.jpg
    21,3 KB · Aufrufe: 251
  • Hier-wieder-nur-44,46MB-frei.jpg
    Hier-wieder-nur-44,46MB-frei.jpg
    103,7 KB · Aufrufe: 244
Zuletzt bearbeitet:
memory size of the emulator - Android Forums
Da steht wahrscheinlich der Grund warum es nicht funktioniert -.-
Ich übersetze mal frei aus dem Englischen:
"Ich hatte gerade das selbe Problem und habe es geschafft, den Speicher des Emulators zu erhöhen. Ich musste erst eclipse-SDK-3.5.2-win32-x86_64 runterladen. Wenn ich versucht habe, den Speicher mit eclipse-SDK 3.5.1 zu erhöhen, hat es nicht funktioniert."

Kannst du mal oben auf "Help"-->"About Eclipse Platform" gehen? Da steht was von Version. Ich hab 3.4.2, deswegen dürfte es bei mir nicht funktionieren. Ich denke mal ob Windows oder Mac ist egal, und es liegt nur an der Eclipse-Version. Wenn bei dir da was niedrigeres steht als 3.5.2, lad dir die mal runter, und versuch es damit!
 
Hallo FelixL.... danke für deine Mühe.
Frage: wo meist du soll ich das machen:
Kannst du mal oben auf "Help"-->"About Eclipse Platform" gehen?

im Androidemulator oder in Eclipse, was ich aber noch nicht installiert habe.

Gruß Pinarek
 
Autsch. Ich bin mal einfach davon ausgegangen, das du Eclipse benutzt. Dann muss ich gerade erstmal sagen, das ich es seltsam finde das es mit dem neuesten SDK alleine nicht geht. Wenn es dir nicht zu viel Aufwand ist, dann lad doch bitte eclipse 3.5.2 (!) für MacOs runter und installiere das Android-SDK-Plugin.

Anleitung: ADT Plugin for Eclipse | Android Developers
 
Hallo FelixL..... ja ich werde mich dan mal mit der Materie Eclipse beschäftigen.

Eigentlich wollte ja nichts weiter tun, als nur mal so paar APK's zu
installieren, um zu gucken was denn alles so geht. Ich habe doch nie vor mir mal so ein Android-Handy zu kaufen !.

ich habe ja schon einige APK's gefunden und installiert, dann kam aber eben die blöde 50 MB Grenze des internen Speichers.

Gut, man könnte auch ohne weiteres mehrere AVD's einrichten und gut ists auch. Ist ja nur eine kleine Spielerei von mir.

Was meinst Du denn, wird es weiter gehen mit Android oder ist doch
das IPhone mit seinen APP's führend oder gar Windows 7 Mobile ??

Ich selbst bin 57 und brauche als Nichtarbeitender sowas eh nicht.
Da ich 15 Jahre lang PC Techniker war, ist die ganze PC und Mac-Sache bei mir, nur Zeitvertreib zu Hause.

Bis dann mal wieder hier... Gruß Pinarek
 
Wo Android vorne ist:
- Geschwindigkeit der Weiterentwicklung
- Viele Hardwareoptionen, nicht nur ein Gerät
- Möglichkeiten für Entwickler (z.B. SMS oder E-Mails abzufangen oder Teile des Systems zu ersetzen, z.B. Tastatur oder die Homescreens...das wäre beim iPhone nie möglich)
- das alles obwohl es noch sehr jung ist.

Wo das iPhone vorne ist:
Grafikintensive Spiele. Das wars :p

Trotzdem ist ein Android-Gerät für mich eigentlich nur was für jemanden, der sich damit auseinander setzen will, ständig die Firmware aktuell halten will und alles aus seinem Gerät rausholen will. Einem Normalbenutzer wird ein iPhone besser gefallen, weil einfach alles funktioniert. Auf die Dauer wird Android mit dem iPhone auch von den Zahlen her gleichziehen, vor allem in den USA gibt es einen echten Hype. Die haben aber auch nochmal bessere Geräte.
 
Danke mein Freund FelixL für die schnelle Antwort-Reaktion.

Was machst du so ? hast du noch Arbeit und wenn ja was machst du beruflich ?

Gruß Pinarek
 
Hallo FelixL

Ich habe mir das Eclipse für MacOS die64 Bit Version geladen ud installiert.
Das selbe Problem, selbst wenn ich in RAM Device 192MB eingebe und eine neue AVD erstelle ist sofort (ohne auch nur 1 APK instaliert zu haben) nur noch ca. 45 MB frei.

Ich habe das so gemacht wie es in dem englischen Post (den du ins deutsche übersetzt hast hier) steht.

Habe nun schon die 3.5.2 und es geht trotzdem nicht.

Hast du noch eine Idee ?

Gruß Pinarek
 

Ähnliche Themen

M
Antworten
2
Aufrufe
626
Mozart40
M
Jansenwilson
Antworten
1
Aufrufe
688
Mazuch
Mazuch
A
Antworten
1
Aufrufe
582
swa00
swa00
Zurück
Oben Unten