Android Handy in Eclipse einbinden

Tavion

Mitglied
Guten Abend,

ich bin neu hier und hätte eine frage zu Eclipse.

Undzwar versuche ich mich jetzt in der App programmierung. Habe schon in Eclipse alle eingebunden was ich dafür brauche. Außerdem habe ich schon Samsung Kies installiert für die Treiber.
Wenn ich mein SKS 3 anschließe bekomme ich das auch in Eclipse angezeigt. Aber wenn ich in den DDMS Modus wechsel kann ich mit dem Gerät nichts machen außer Screenshots. Also ich kann keine Daten des Gerätes auslesen.
Und wenn ich meine App auf dem Handy starten oder debuggen will kann ich es zwar auswählen aber es funktioniert nicht. In dem Auswahlfenster bekomme ich auch ein rotes Kreutz vor meinem Gerät angezeigt.

Woran kann das liegen?

Gruß

Tavio
 
Hast du in den System-Einstellungen deines Smartphones auch die Sicherheits-Einstellung aktiviert, das du darauf/damit überhaupt Programmieren kannst?
Ein bischen in den Einstellungen rumwühlen, weiss leider nicht mehr wie sie hieß.

@kaetzacoatl
Seit wann ist der/ein Emulator schneller und einfacher? Mal abgesehen davon, dass es gut 2 Minuten braucht bis er gestartet ist, läuft er extrem langsam und stockend.
Die Einrichtung eines Emulators ist nicht unbedingt einfacher wie die Einrichtung des echten Geräts.
 
Also USB Debugging ist aktiviert. Ansonsten finde ich keiner Einstellungen am Handy mehr die mir weiterhlefen könnten.
Edit: Unbekannte Quellen ist auch bereits aktiviert.
 
Zuletzt bearbeitet:
Sind die ADB-Treiber bei dir installiert? Was spucken die Konsolen aus? (Android, DDMS)

Nimm den Emulator
(schneller und einfacher)
Kann ich absolut nicht bestätigen. Und ich habe auch schon ein HTC Wildfire verwendet, also etwas schwächeres als das Galaxy S.
 
Wo sehe ich das ob die ADB Treiber installiert sind? Sind die das fürs Handy? Wenn ja dann müssten die ja auch von Kies installiert sein.
 
Fangen wir mal von vorne an:
1. Welches Betriebssystem verwendest du? Hört sich so an wie ein Windows, aber welches? Bei Windows 7 würdest du unten rechts sehen, wenn du das Handy ansteckst, welche Treiber verwendet werden bei der üblichen Meldung, wenn du das Handy ansteckst.

2. Was steht in der Eclipse-Konsole? Falls du diese Views nicht siehst, füg sie hinzu. Funktioniert ähnlich wie das Hinzufügen des Log-Cat, siehe auch meine Signatur.

Wenn ja dann müssten die ja auch von Kies installiert sein.
In einer perfekten Welt funktioniert alles so wie man es möchte ;-) Im ernst, check das mal. Verlassen darf man sich leider auf gar nichts.
 
Wenn ich das Handy anschließe bekommen ich die Meldung das die Treiber richtig installiert wurden.
Bzw das das Geröt richtig angeschlossen ist. Ich benutze Windows 7.
Unter dem Punkt devices sehe ich mein Gerät. Und bei DDMS sehe ich es auch. Kann dort aber keine befehle ausführen, bis auf die Screenshot funktion.

In der Konsole steht gar nichts drin wenn ich mein Handy anschließe.
 
Wenn ich das Programm starten will kommt das Auswahfenster. Da kann ich auch mein Gerät auswählen. Allerdings ist das vor der Versionsnummer (4.0.4) ein rotes kreuz. Wenn ich dann trotzdem ausführe steht in der Konsole das er alles überträgt und dann später auch Done und Success.
Die App erscheint aber niccht auf dem Handy. Wird wohl an dem roten Kreuz liegen, aber was hat es zu bedeuten?
 
Zuletzt bearbeitet:
Ich hab zwar noch nie auf echter Hardware getestet (hab nämlich noch kein Test-Gerät, aber das wird sich in den nächsten Wochen ändern 🙂), aber mir ist gerade etwas ähliches passiert: Ich hab mein Projekt Target auf eine neue API Stufe umgestellt. Das machte jedoch ds aktuelle VD nicht mit. Also hab ich mir eine andere Version gedownloadet. Dann wurde mir eine ListView nicht angezeigt. Bei mir ist aber die App gestartet... Vielleicht hast Du ja einfach eine Version von Eclipse, die nicht zum verwendeten SDK und/oder VD passt.

[OT]Ich hab jetzt Eclipse aktualisiert. Die ListView bleibt verschollen. Ich werd mal einen anderen Thread dazu eröffnen.[/OT]

Ich hoffe, ich bin mal nicht ganz daneben. 😉

[OT]Geht es nur mir so, oder stürzt Eclipse bei Verwendung eines Emulators häufig ab?[/OT]

Noch einen schönen Abend!
 
Habe Eclipse Juno, vllt liegt es daran. Suche mal nach einer alten Version.
Kann man die App auch anders Installieren? Damit man z.B. auch die App an freunde verteilen kann.
 
Habe jetzt auf Indigo gewechselt. Aber es hat sich nichts geändert.
In der DDMS Perspektive kann ich weiterhin nur Screenshots machen und mehr nicht. Irgendwie klappt das mit der Verbindung nicht so.
Weiter Ideen?
 
Andere Frage: Ist die DDMS-Perspektive nicht dafür da, die CPU-Auslastung zu überwachen und zu protokollieren?

Also
- Du erstellst ein Android-Projekt
- Schreibst den Code
- Führst ihn aus/Das Handy startet die App die von Eclipse kompiliert und geschickt wurde
- Schaltest in die DDMS-Anzeige
- Dort ist alles ausgegraut und du kannst dort Screenshots machen (??? (Wusste nicht dass es die Funktion dort gibt, wie gesagt in meiner DDMS-Anzeige steht welche Methode wieviel CPU-Zeit verbraucht))

Soweit alles richtig?
(Nur ums mal klarzustellen)
 
Also Projekt erstellung geht, aber die übertragung auf das Handy klappt einfach nicht. Schon wenn ich mein Handy statt z.B. eines Emulators, auswähle ist so ein rotes Kreuz vor der Versionsnummer von meinem Gerät. Ich kann zwar trotzdem auf übertragen klicken und die console sagt auch das das läuft, aber auf dem Handy erscheint keine App oder sonst was.
Ich weiß nicht warum das rote Kreuz da ist aber es muss denke ich mal wieder weg sein damit es geht^^

In der DDMS anzeige sollte man eigentlich immer ein paar sachen ausführen können, z.B. Tasks auf dem Handy killen, aber auch das geht nicht.
 
Also mein Handy wird nicht in der Emulatorliste aufgelistet, ganz einfach deshalb weil es kein Emulator ist 😵
-> Handy anstecken -> Danach erst Eclipse starten -> Auf "Run" klicken -> fertig
(Und niemals nie etwas anderes machen, bei mir ist es so, wenn ich in der Emulatorliste einen Emulator anwähle gehts nicht mehr zurück aufs handy, sowie wenn man das handy aussteckt verliert Eclipse den Fokus darauf)
 
Man kann in der Run-Config einstellen, dass man vor jedem "starten" das target auswählen kann.
 
Bei meinem HTC-Desire gibt's noch die Einstellung "unbekannte Quellen erlauben". Schau mal nach, ob es bei dir etwas ähnliches gibt und aktivier es mal. Solange es nicht Aktiv ist nur die Ausführung von Anwendungen aus vertrauenswürdigen Appstores gestattet. Eclipse gehört da nicht zu.
Unter Win7 Ultimate 64 können einen aber auch die Treiber zum Wahnsinn treiben (zum Wahnsinn-Treiber XD). Evtl. existiert zu dem Handy ja eine CD, auf welcher noch passende Treiber oder Anwendungen drauf sind, die diese auch benötigen, beim HTC z.B. wäre das HTC-Sync. Wenn du die Treiber nicht eingebunden bekommst, musst du Win7 "entschärfen" bzw. in den Testmodus schalten, damit Win7 auch "unsignierte" Treiber verwendet. --> DSEO – Treiber unter Windows 7 selbst signieren | Antary
 
Also unbekannt Quellen sind natürlich erlaubt.

Ich habe es so eingestellt, das wenn ich auf Run drücke nach dem target gefragt werde. Da sehe ich dann einen Emulator und mein Handy und da taucht aber auch dieses rote Kreuz vor meinem Handy in der Liste auf.
 
Und auf welche Art verbindest du PC und Handy? Für Debugging gültige einstellungen wären "Nur laden" oder "Synchronisation" (HTC-Sync).
 
Per USB im MTP Modus.

Hier mal der Log wenn ich die App übertragen will:
Der tolle name ist wegen einem Beispielprojekt 😉

[2012-09-23 21:03:09 - Phrasendreschmaschine] ------------------------------
[2012-09-23 21:03:09 - Phrasendreschmaschine] Android Launch!
[2012-09-23 21:03:09 - Phrasendreschmaschine] adb is running normally.
[2012-09-23 21:03:09 - Phrasendreschmaschine] No Launcher activity found!
[2012-09-23 21:03:09 - Phrasendreschmaschine] The launch will only sync the application package on the device!

[2012-09-23 21:03:09 - Phrasendreschmaschine] Performing sync
[2012-09-23 21:03:12 - Phrasendreschmaschine] Uploading Phrasendreschmaschine.apk onto device '4df151d168406f17'
[2012-09-23 21:03:12 - Phrasendreschmaschine] Installing Phrasendreschmaschine.apk...
[2012-09-23 21:03:15 - Phrasendreschmaschine] Success!
[2012-09-23 21:03:15 - Phrasendreschmaschine] \Phrasendreschmaschine\bin\Phrasendreschmaschine.apk installed on device
[2012-09-23 21:03:15 - Phrasendreschmaschine] Done!
 
Zuletzt bearbeitet:
Joa, so 'ne Activity ist auch 'ne Idee. Hab' angenommen die wäre da, weil ich aus dem ganzen Thread herausgelesen habe, dass die Anwendung auf dem EMU funktioniert.

Als letztes fällt mir noch was zu den USB-Ports auf dem Motherboard ein. Bei mir ist das so, dass Handys und Massenspeicher nur an 4 von 10 Ports laufen. An dem Rest laufen nur Hubs, Maus, Tastatur und ähnliches. Ich weis nicht warum das so ist, aber evtl. ist's bei dir ja auch so. Wenn also alle Stricke reissen, versuch mal einen anderen USB-Port.
 
Also kame weiter dahinter.
Der Emulator geht, aber nur mit der 4.1 Version. Wenn ich ein Emulator in der Version 4.0.3 erstelle klappt das ganau wie bei meinem Handy nicht. Also muss i. was flasch eingestellt sein.

Hier mal die Manifest Datei:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.phrasendreschmaschine"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="7"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature android:name="android.hardware.camera" android:required="true"/>

</manifest>
 
Mit der Manifest kann das Ding nicht laufen. Dir fehlt mindestens mal der Application-Tag. Darin definierst du deine Activities (vorher sind die nicht ausführbar) und eine Activity definierst du noch als Launcher-Activity. Diese wird dann ausgeführt, wenn du z.B. auf das AppIcon klickst.

Schau dir am besten mal noch das hier an:
Activities | Android Developers
 
Mh wieso wurde da denn alles raus gelöscht.
Wenn ich ein neues Projekt erstelle, steht das in der XML:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.phrasendreschen"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


Passt das schon eher? Trotzdem lässt es sich nicht übertragen.
 
Wenn ich ein ganz neues Test Projekt machen, kann man das ja auch schon simulieren.
Wenn ich das Test projekt übertragen will kommt das in die Console:

[2012-09-24 17:36:20 - Phrasendreschen] ------------------------------
[2012-09-24 17:36:20 - Phrasendreschen] Android Launch!
[2012-09-24 17:36:20 - Phrasendreschen] adb is running normally.
[2012-09-24 17:36:20 - Phrasendreschen] Performing com.example.phrasendreschen.MainActivity activity launch
[2012-09-24 17:36:22 - Phrasendreschen] Application already deployed. No need to reinstall.
[2012-09-24 17:36:22 - Phrasendreschen] Starting activity com.example.phrasendreschen.MainActivity on device 4df151d168406f17
[2012-09-24 17:36:23 - Phrasendreschen] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.phrasendreschen/.MainActivity }
[2012-09-24 17:36:23 - Phrasendreschen] ActivityManager: Warning: Activity not started, its current task has been brought to the front
 
Erscheint bei mir im Emulator auch. Ich hab herausgefunden warum: Wenn die Activity/App schon ausgeführt wird, kommt sie einfach in den Vordergrund. Du musst also vorher die Activity/App beenden, sonst kannst Du sie nicht noch einmal ausführen.
 
Wie oder wo kann ich die denn beenden?
Ich konnte sie ja noch gar nicht auf dem Handy starten.

Edit:

Jetzt ist die App da oO. Trotz fehlermeldung.

Ich teste noch weiter. Schonmal danke für eure Hilfe!
 
Ich hab keine Ahnung, was bei Dir läuft, wage aber trotzdem mal einen Versuch: Wird die Activity bei den Einstellungen irgendwo unter den laufenden Activities aufgelistet? Wenn ja --> dort killen. Das bedeutet dann wahrscheinlich, dass Du ein Problem mit dem UI hast. Wie auch immer, versuch's mal. 😉
 
Immer gern! 🙂 Nimmt mich aber trotzdem Wunder: Wie hats schlussendlich funktioniert? Ist die App irgendwie im Hintergrund gelaufen?

Weiterhin viel Spass und Erfolg bei Deinen Projekten! 🙂
 
Vermutlich wird das nicht das Problem sein, aber Du könntest im Manifest überprüfen, ob Deine Test-Äpp auch für die Android-Version Deines Smartphones passt.
Im Manifest steht, von welcher bis welche Version die App "zugelassen" ist.
 

Neue Themen


Zurück
Oben