Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi XE7 - Android Gerät wird nicht erkannt (https://www.delphipraxis.net/181808-xe7-android-geraet-wird-nicht-erkannt.html)

Alex_ITA01 10. Sep 2014 11:45

XE7 - Android Gerät wird nicht erkannt
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo zusammen,
ich mache dafür mal ein extra Thread auf ;-)

Also ich habe Rad Studio XE7 in einer VM mit Win8.1 am laufen.
Ich habe laut den Screenshots die SDKs installiert.
Ich habe mein Smartphone Sony Xperia V LT25i angeschlossen und es ist in der VM erkannt und ich kann Dateien kopieren/ändern usw.
Es sind im Gerätemanager keine unbekannten Geräte oder andere Sachen aufgelistet.
Auf dem Smartphone läuft Android 4.3

Jetzt öffne ich die Demo von Flashlight und bekomme trotzdem kein Android Gerät angezeigt.
Was mache ich hier falsch? Jemand eine Idee dazu?

Viele Grüße

bcvs 10. Sep 2014 11:53

AW: XE7 - Android Gerät wird nicht erkannt
 
Das Smartphone müsste eigentlich unter Ziel erscheinen.
Probier mal Rechtsklick auf "Ziel" und dann aktualisieren. Vielleicht gibt es da Probleme wegen der VM.

Alex_ITA01 10. Sep 2014 12:22

AW: XE7 - Android Gerät wird nicht erkannt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe es jetzt irgendwie hinbekommen, dass unter Geräte wirklich mein Smartphone auftaucht (habe alles mögliche am Handy freigegeben ;-) ).
Compilieren kann ich das Projekt auch, aber wenn ich F9 drücke kommt die Meldung "PAClient" exited with Code 1.

Was habe ich jetzt schon wieder übersehen?

Viele Grüße

Edit: ZipAlign.exe scheint nicht gefunden zu sein oder? Dies sehe ich zumindest unter "Ausgabe"...

Alex_ITA01 10. Sep 2014 14:29

AW: XE7 - Android Gerät wird nicht erkannt
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, habe im SDK Manager jetzt gesehen, dass der voreingestellte Pfad zu dem ZipAlign gar nicht gültig ist. Habe auch die entsprechende Exe gar nicht auf meinem Rechner.
Was muss ich denn noch nachträglich installieren, damit ich diese auch habe?

Viele Grüße

Alex_ITA01 10. Sep 2014 15:57

AW: XE7 - Android Gerät wird nicht erkannt
 
Habe es jetzt hinbekommen.
Der pfad für ZipAlign musste manuell noch im SDK Manager angepasst werden und es müssen die SDK BuildTools installiert werden.
Bekomme jetzt die App zum laufen, juhu :-D

Aber wieso ist eine neue Anwendung, wo nur ein Label drauf ist, ein Timer und zwei DateTimePicker gleich 65MB groß? Also die *.so ist 65MB und die App auf dem Smartphone zeigt 32MB an.
Ist bisschen viel oder muss man da noch irgendwas einstellen?
Ich habe die Taschenlampen App (Flashlight) getestet, die ist auch 32MB groß...

Vielleicht könnt ihr mir da weiter helfen.

Viele Grüße

Uwe Raabe 10. Sep 2014 15:59

AW: XE7 - Android Gerät wird nicht erkannt
 
Debug- oder Release-Konfiguration?

Alex_ITA01 10. Sep 2014 21:42

AW: XE7 - Android Gerät wird nicht erkannt
 
Also vorgewählt ist debug aber ich kann auch nur zwischen debug und anwendungs-store umschalten. Ist das dann Release?

Sir Rufo 10. Sep 2014 22:01

AW: XE7 - Android Gerät wird nicht erkannt
 
Um nochmal auf die fehlende ZipAlign.exe zu kommen:

Nach der frischen Installation von XE6/XE7 ist das Android SDK 22.3 installiert und auch in Delphi als SDK eingestellt.

Wenn man jetzt ein Update des Android SDK vornimmt (Android Tools), dann wird dort auf das Android SDK 23.0.2 aktualisiert, wo z.B. die ZipAlign.exe nicht mehr an der Stelle zu finden ist, wie das noch beim Android SDK 22.3 war.

Die Lösung ist eigentlich so einfach und offensichtlich, dass diese den Wenigsten auffällt:
  • Tools / Optionen... öffnen (es darf kein Projekt geöffnet sein!)
  • Umgebungsoptionen / SDK-Manager auswählen
  • Hinzufügen... klicken und den Anweisungen folgen
Und keine Angst, der Assistent benötigt eigentlich nur die Pfade zum SDK und NDK und findet dann ganz automatisch alle benötigten Einträge. Im SDK-Manager steht dann zum Schluss auf die aktuelle SDK Version.

Uwe Raabe 10. Sep 2014 22:16

AW: XE7 - Android Gerät wird nicht erkannt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Alex_ITA01 (Beitrag 1272084)
Also vorgewählt ist debug aber ich kann auch nur zwischen debug und anwendungs-store umschalten. Ist das dann Release?

Nein! Ich meine die aktive Einstellung unter Build-Konfiguration.

Alex_ITA01 11. Sep 2014 07:10

AW: XE7 - Android Gerät wird nicht erkannt
 
Ok da hatte ich noch auf Debug stehen...
Habe jetzt auf Release umgestellt, da ist die:

*.so Datei = 19 MB
*.apk Datei = 6,5 MB
Die App im Smartphone wird mit 27,8 MB angezeigt.

Finde ich trotzdem extrem viel für ein Label, ein Timer und zwei DateTimePicker oder?

Ich meine, ich habe Apps auf dem Smartphone, die sind im kleinen einstelligen MB Bereich. Da würde ich gerne auch irgendwie hinkommen, denn meine App ist wirklich vom Umfang winzig...

Was kann man da noch tun?

Viele Grüße

mkinzler 11. Sep 2014 07:25

AW: XE7 - Android Gerät wird nicht erkannt
 
Das Framework, welches in die Anwendung einkompiliert ist, ist immer gleich groß, egal wie viel Benutzercode diese enthält. Theoretisch könnte es möglich sein, das Framework in eine eigene so ( das Äquivalent zur Dll unter Windows) auszulagern und diese dann nachzuladen. Dadurch wird die (1.) Anwendung nicht kleiner, für weitere Anwendungen, welche mit der selben Delphiversion erstellt wurden, könnte das dann eine kleinere Größe bedeuten. Ob das in der Praxis funktioniert, müsste man ausprobieren.

Alex_ITA01 11. Sep 2014 07:29

AW: XE7 - Android Gerät wird nicht erkannt
 
Ok verstehe.
Also ist es bei euch allen auch so, dass ihr keine eigene App habt, die kleiner ist als 25MB?

Viele Grüße

Uwe Raabe 11. Sep 2014 07:44

AW: XE7 - Android Gerät wird nicht erkannt
 
Zitat:

Zitat von Alex_ITA01 (Beitrag 1272108)
Also ist es bei euch allen auch so, dass ihr keine eigene App habt, die kleiner ist als 25MB?

Im Prinzip, ja! Das wirst du mit Delphi auch in absehbarer nicht wesentlich ändern können. Es ist allerdings auch so, daß deutlich komplexere Programme nicht proportional größer werden. Insofern relativiert sich das Problem wieder. Für eine einfache Taschenlampen-App würde man Delphi auch sicher kaum einsetzen.

Alex_ITA01 11. Sep 2014 07:46

AW: XE7 - Android Gerät wird nicht erkannt
 
Ok Danke.
Dann bin ich hier schonmal wieder schlauer.

Könntest du das trotzdem mal näher erklären, warum das mit Delphi in absehbarer Zeit nicht möglich ist?
Vielleicht bisschen weiter "ausholen" oder sprengt das dann hier den Rahmen des Threads? ;-)

Uwe Raabe 11. Sep 2014 08:12

AW: XE7 - Android Gerät wird nicht erkannt
 
Es ist nur meine Vermutung, aber durch die Optimierung des Compilers/Linkers würde halt lediglich die Größe der erzeugten App kleiner. Funktionell bringt das überhaupt keinen Effekt und der normale User bemerkt es wahrscheinlich nicht mal. Da diese Optimierung aber irgendjemand machen müsste, wird die Zeit wohl eher für andere Maßnahmen investiert.

Wenn du wissen willst, was alles in einer leeren App drin steckt, dann setz doch in den Projekt-Optionen für Android die "Temporäre .lnk-Linker-Datei nach Linken entfernen" mal auf false. In dieser lnk-Datei siehst du, was alles in deine App rein kommt. Wenn man sich dann noch die Größen der .o-Dateien für das Projekt und die Units ansieht, dann wird die Größe der ganzen App durchaus plausibel.

Alex_ITA01 11. Sep 2014 08:22

AW: XE7 - Android Gerät wird nicht erkannt
 
Ok, werde ich mal testen.
Danke für die Info...

SevenValues 7. Dez 2014 08:37

AW: XE7 - Android Gerät wird nicht erkannt
 
Sir Rufo ist mein Held!
Danke - ein endlos scheinender Kampf ist nun gewonnen.
Chapeau!

:thumb:

Ulf346C 10. Dez 2014 14:17

AW: XE7 - Android Gerät wird nicht erkannt
 
Ich hab leider dasselbe Problem - Gerät wird nicht erkannt.
Delphi XE6 Enterprise, Telefon ist ein Samsung S3 mini
Gerät ist als Mediengerät verbunden.
DEr Pfad ist korrigiert, die SDK installiert, aber es will nicht ... :oops:

mkinzler 10. Dez 2014 14:22

AW: XE7 - Android Gerät wird nicht erkannt
 
Erkennt den adb das device?

Ulf346C 10. Dez 2014 15:55

AW: XE7 - Android Gerät wird nicht erkannt
 
Ah ja, danke, das Stichwort war gut
Das Smartphone war noch als solches verbunden, ich habe es deinstalliert, neu verbunden, dann kam es wieder als "Android"
jetzt gehts :)

OlafSt 1. Feb 2015 19:11

AW: XE7 - Android Gerät wird nicht erkannt
 
Ich hänge mich mal hier dran.

Problem: Android Geräte (beide getesteten) sind die XE7 nicht sichtbar.

Getestet mit Galaxy Tab 2 7.0 und einem S5. Beide Geräte unrooted, Stock-ROM, USB-Debugging an. Werden auch im Gerätemanager korrekt angezeigt, Treiber allesamt installiert.

Trotzdem nix in Delphi, auch nach mehreren Minuten nicht. In den SDK-Einstellungen ist alles glatt, keine gelben Ausrufezeichen (ZipAlign z.B.). Alles fixed.

Was mache ich falsch ?

Daniel 1. Feb 2015 19:41

AW: XE7 - Android Gerät wird nicht erkannt
 
Findet "ADB" das Gerät?
"ADB" ist die "Android Debug Bridge" und dient quasi als Vermittler zwischen Deinem PC und dem mobilen Gerät. "adb.exe" findest Du im Rahmen des Android SDK. Auf der Konsole mal "adb devices" eintippen und gucken, was gelistet wird. Wenn da keine Geräte-IDs kommen, kennt nicht mal das Android-SDK Dein Gerät.

OlafSt 1. Feb 2015 21:10

AW: XE7 - Android Gerät wird nicht erkannt
 
ADB spuckt folgendes aus:

4f72c390 unauthorized

Ziehe ich das S5 wieder ab, ist die Liste leer. Das S5 wird also erkannt. Muß ich das womöglich erst rooten ?

Daniel 1. Feb 2015 21:43

AW: XE7 - Android Gerät wird nicht erkannt
 
Der Zusatz "unauthorized" ist der Knackpunkt. Normalerweise fragt das Gerät, ob es vom Computer XY aus "bedebuggt" werden darf - erst, wenn man diese Frage positiv bestätigt, kommt man auf das Gerät. Du kannst in den Entwickler-Optionen mal alle bisherigen Freigaben entfernen, das sollte die Frage seitens des Gerätes erneut provozieren. Andere User schreiben, dass es geholfen habe, den USB-Modus des Gerätes mal auf "Kamera" umzustellen.
Auf jeden Fall muss das "unauthorized" am Ende weg.

OlafSt 1. Feb 2015 23:05

AW: XE7 - Android Gerät wird nicht erkannt
 
Treffer, versenkt.

Die Debug-Berechtigungen zu löschen, brachte nichts. USB-Debugging aus und wieder an auch nicht. Aber die Entwickleroptionen aus- und wieder einzuschalten, hat wohl was bewirkt. Denn das Reaktivieren von USB-Debugging blendete plötzlich ein Fenster ein (RSA-Key des Rechners).

Seitdem wird das S5 auch sauber erkannt.

Thanks for help !


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz