Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Delphi 10.3.3 Android Geräte unter VMWare (https://www.delphipraxis.net/204261-delphi-10-3-3-android-geraete-unter-vmware.html)

menten 12. Mai 2020 10:17

Delphi 10.3.3 Android Geräte unter VMWare
 
Hallo zusammen,

ich versuche gerade die Corona Zeit zu nutzen um mich mit der Android Entwicklung unter Delphi zu beschäftigen. Ich habe mir dazu eine virtuelle Maschine mit Windows 10 vorbereitet auf der ich Delphi 10.3.3 plus dem Android SDK installiert habe. Kompilieren eines Beispiels funktioniert auch. Ich kann eine APK Datei erstellen und diese manuell auf einem Android Gerät starten.

Was nicht funktioniert ist die Integration der Android Geräte in die IDE. Ich habe zwei relativ neue Geräte, ein Lenovo Tab 7 und ein LG G8. Beide haben Android 9, sind für die Entwicklung freigeschaltet und auf Dateiübertragung eingtestellt. Wenn ich sie einstecke und mit der VM verbinde werden beide im Gerätemanager als tragbare Geräte angezeigt und ich kann sowohl auf die internen Laufwerke als auch auf die SD Karten zugreifen. Also so, wie es auf den Embarcadero Seiten erklärt wird.

Ist das ein grundsätzliches Problem mit virtuellen Maschinen oder muss ich noch irgendas installieren/konfigurieren oder was auch immer? Ich arbeite eigentlich seit Jahren nur mit virtuellen Maschinen und würde jetzt ungern davon abweichen.

Im Forum habe ich übrignes nichts zu dem Thema gefunden.


Danke für jeden Hinweis
Stefan Menten

Rollo62 12. Mai 2020 10:34

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Bin grade nicht am PC, schonmal nach Adb Treiber und Android Entwicklermodus gegoogelt ?

Es gibt ganz gute Tutorials im Delphi DocWiki

himitsu 12. Mai 2020 10:48

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Hast du den Bei Google suchenEntwicklermodus bei deinen neuen Geräten aktiviert?

Und deine VM kann auf das lokale Netzwerk zugreifen.

Die Android-Geräte starten auf sich einen Service und öffnen bei sich einen Port (ADB: Android Debug Bridge, bzw, das andere Neuere, dessen Name ich grad vergessen hab),
und mit dem nimmer dann das Gegenstück auf dem PC Kontakt auf (LAN/WLAN oder USB).

Beim Weg über USB müsstest du auf dem Host-System entweder den USB-Port in die VM duchschleifen
oder eine Umleitung einrichten, also vom USB-Treiber ins LAN zur VM

Rollo62 12. Mai 2020 11:36

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
... und Du brauchst womöglich Treiber die ADB unterstützen von Lenovo, da kenn ich mich nicht mit aus.
Bei Samsung gibt es SmartSwitch,
das hat es bisher gut erledigt.
Vielleicht gibt es sowas bei Lenovo auch, wenn keine direkten Treiber verfügbar sind.

Mit Embarcadero-Seiten, meinst Du diese hier aus dem DocWiki ?
Da steht eigentlich Alles drin (soweit das möglich ist) :stupid:

himitsu 12. Mai 2020 12:13

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Ich bin mir nicht sicher, aber ich glaub der Treiber wurde bei mir damals automatisch von Windows runtergeladen, für mein altes Lenovo-Tablet (kann nicht mehr nachsehn/testen, weil kaputt).
Ich kann mich jedenfalls nicht erinnern da jemals was explizit runtergeladen und installiert haben zu müssen. (vielleicht gingen auch schon die Standardtreiber im Windows)

jayway 12. Mai 2020 12:58

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Mein Lenovo Tablet mountet beim Anschluss an den PC ein virtuelles Laufwerk, auf dem sich unter anderem ein USB-Treiber befindet. Danach ging der Testbetrieb von Delphi aus unproblematisch, allerdings direkt nicht über die VM.

Gruß Jay

menten 12. Mai 2020 14:12

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Hallo zusammen,

auf dem Lenovo habe ich auch einen Treiber, incl. ADB. Wenn ich versuche den zu installieren, bekommen ich aber die Meldung, dass für diese Maschine kein Treiber dabei ist. Kann das an Windows 10 (1909) liegen.

Nach ADB Treibern habe ich gesucht. Da hab ich aber das gleiche Problem. Wenn ich versuche den ADB Treiber von Google zu verwenden, bekomme ich auch den Fehler das kein kompatibler Treiber enthalten ist.


Danke und Gruw
Stefan Menten

himitsu 12. Mai 2020 14:35

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Spezielle ADB-Treiber hatte ich mir nie runtergeladen.
Beim Handy hatte ich mir nur mal den "normalen" USB-Treiber vom Hersteller geholt,
ansonsten ist ADB entweder im AndroidSDK mit drin und wenn man das nicht installieren wollte, dann reichten bisher auch die paar Dateien vom "Minimal ADB and Fastboot".

Und falls via USB verbunden im ADB die Umleitung zum TCP.
Code:
adb tcpip 5555

menten 12. Mai 2020 14:55

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Ich hab jetzt mal versucht, die Lenovo Treiber auf einer normalen Hardware zu installieren. Das geht auch nicht.

Was heißt "ADB Umleitung zum TCP"?


Danke und Gruß
Stefan Menten

Rollo62 12. Mai 2020 15:00

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Versuch doch mal AndroidStudio in der VM zu installieren, und damit ein Dummy-Projekt zu starten.

himitsu 12. Mai 2020 15:10

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Zitat:

Zitat von menten (Beitrag 1464383)
Was heißt "ADB Umleitung zum TCP"?

ADB über USB -> dann hat nur das Host-OS Zugriff (außer der USB-Port wurde in die VM durchgereicht, wo dann nur die VM Zugriff bekommt)

ADB über TCP (LAN/WLAN) -> da hat dann jeder Zugriff, der im selben Netzwerk hängt

ADB über USB im Host-OS auf TCP umgeleitet -> da hätte dann auch die VM Zugriff, über das gemeinsame LAN
Delphi-Quellcode:
adb tcpip 5555

https://developer.android.com/studio...e/adb#wireless

mensch72 12. Mai 2020 16:10

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
habe hier gerade ein Nokia9.2 mit Android bisher 9 und jetzt Android10...

-> hat auch den Effekt, das wenn man den USB-VerbindungsMode im Android auf "File-Transfer" stellt man nur auf aden Internen Speicher zugreifen kann(also z.B. ein APK manuell unter Downloads abspeichern und von dort manuell installieren), aber es sich so NICHT in der Delphi IDE mit Namen angezeigt wird und nicht auswählbar ist.
(wenn Filetransfer so IN der VM möglich, ist die USB-Verbindung zw. Handy&VM OK)


=> meine "Lösung": den USB-VerbindungsMode im Android auf "NUR LADEN" stellen... und schau einer guck, plötzlich kann man in der DelphiIDE nach aktualisieren den Namen des AndroidGerätes in der Liste sehen und es als Start/Debug Ziel auswählen
(das Verhalten im AndroidStudio ist identisch, Effekt hat also nichts direkt mit der DelphiIDE zu tun:))

himitsu 12. Mai 2020 16:38

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
[deleted]

mlc42 12. Mai 2020 20:25

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Wir entwickeln nur unter VMWare. Das klappt sehr gut.

Findet man für ein Gerät keinen passenden Treiber kann man
den Google ADB installieren. Wenn das Gerät da fehlt kann man es
anschließen und im Gerätemanager die VID PID raussuchen.

Diese dann in die android_winusb.inf aus dem Treiberpaket eintragen.

So hab ich z.B.: ein Nokia eingefügt

;Nokia 6.1
%SingleBootLoaderInterface% = USB_Install, USB\VID_2E04&PID_C026&MI_02
%CompositeAdbInterface% = USB_Install, USB\VID_2E04&PID_C026&REV_0404&MI_02


Dann den ADB Treiber installieren.
Bisher lief das dann mit jedem Gerät das keinen direkten Treiber hatte.

menten 13. Mai 2020 11:02

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Hallo zusammen,

habe jetzt Android Studio installiert und ein Beispiel Projekt kompiliert. Wenn mit dem Connection Assistent nach Geräten suche, werden ggf. auch welche gefunden. Die werden aber nicht mit dem Namen angezeigt, sondert mit einer Zahlen/Buchstaben Kombination und zeigen immer einen Fehler (nicht angeschlossen, nicht authorisiert, usw). Die Gerätenamen tauchen in der Liste der nicht ADB Geräte auf.

Die VID PID ist die Hardware ID? Das habe ich auch versucht und bekomme dann einen Treiber angezeigt. Wenn ich den auswähle bekomme ich aber einen Fehler das der Hash der Datei nicht in einem Katalog vormkommt.

Den Verbindungsmode habe ich auch schon geändert. Das ändern das Verhalten, das Problem bleibt aber

Wo bekommt ihr denn den ADB Treiber her? Mir kommt das im Internet alles so halblebig vor.

Danke und Gruß
Stefan Menten

Rollo62 13. Mai 2020 11:49

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Mit den Android-SDK Tools
http://docwiki.embarcadero.com/RADSt...oid-Ger%C3%A4t

Zitat:

Führen Sie im Android SDK Manager Folgendes aus:

Blättern Sie nach unten zu Extras.
Wählen Sie Google USB Driver aus.
Entfernen Sie alle anderen Häkchen, wie z. B. die automatisch gesetzten Häkchen in den Abschnitten Android 4.3 und Tools.

Hinweis: Installieren Sie keine zusätzlichen Bibliotheken oder Updates außer den von RAD Studio bereitgestellten.

Klicken Sie auf Install 1 package:

menten 13. Mai 2020 13:46

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Die Doku von Embarcadero hab ich auch schon durch. Der Treiber führt auch nur zu der gleichen Fehlermeldung. Ich hab auch schon ein altes Acer Tablet mit Android 4.4 ausgegraben. Gleiches Ergebnis. Die Standardtreiber lassen sich nicht ersetzen weil die Geräte in den ADB Treibern offensichtlich nicht drin sind.


Noch jemand ne Idee?


Danke und Gruß
Stefan Menten

Rollo62 13. Mai 2020 16:18

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Ist denn der Haken bei ADB Usb Driver in den AndroidTools gesetzt und installiert ?
Das ist erstmal von AndroidStudio, oder dem SDK, also Android selbst.
Da sollten keine Fehler kommen.

Falls doch, welche Fehler genau, oder reden wir hier aneinander vorbei ?

menten 13. Mai 2020 16:58

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Liste der Anhänge anzeigen (Anzahl: 5)
Ich habe mal ein par Screenshots gemacht.

Das wäre die Vorgehensweise wie sie die Embarcadero Doc aufzeigt.


Danke und Gruß
Stefan Menten

Rollo62 13. Mai 2020 17:27

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Kann es sein das der Treiber 32-Bit ist, und dein OS 64-Bit ?
Der letzte Fehler sieht so aus.

Wenn es keine aktuellen Treiber mehr gibt, und Du alle Tipps unten schon durch hast,
dann wird es langsam eng.
Es gibt dann noch verschiedene Treiberseiten, ich vermute mal die basieren dann alle
auf dem hier.

Keine Ahnung ob das helfen kann, sieht aber gut aus, ist nur schon etwas älter.
Besser vorher mal nach Problemen/Viren, etc. googlen, damit das nicht in die Hose geht.

Alter Mann 13. Mai 2020 17:30

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Zitat:

Zitat von mensch72 (Beitrag 1464393)
=> meine "Lösung": den USB-VerbindungsMode im Android auf "NUR LADEN" stellen... und schau einer guck, plötzlich kann man in der DelphiIDE nach aktualisieren den Namen des AndroidGerätes in der Liste sehen und es als Start/Debug Ziel auswählen
(das Verhalten im AndroidStudio ist identisch, Effekt hat also nichts direkt mit der DelphiIDE zu tun:))

Schon mal beachtet/versucht?

jayway 13. Mai 2020 19:44

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Stefan,

du hast definitiv nicht den Lenovo ADB Treiber installiert. Das Tablet wird dann als ADB-Device angezeigt. Bei dir sieht es eher nach dem alten MS Treiber für Massenspeicher aus.


Anhang 52497


P.S. Was ist denn für Software auf dem virtuellen CD-Laufwerk, wenn du das Tablet ansteckst? Bei mir war neben der Treiber-Datei noch der Lenovo Mobile Assistent drauf, mit dem man sofort testen konnte, ob das Tablet richtig gekoppelt ist.

Gruß Jay

himitsu 13. Mai 2020 20:41

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Es kommst nicht direkt auf den Treiber an.
Jenachdem was für eine Schnittstelle das Gerät bereitstellt, gibt es auch unterschiedliche Treiber.

Android-Geräte können sich als Massenspeicher ausgeben (wie eine SD-Karte)
oder sie geben sich als Multimedia-Gerät aus
oder ob überhaupt jemand Zugriff bekommt (das schon erwähnte "nur Laden").

Man kann auch aktivieren/deaktivieren, ob IDE/Debugger/ADB Zugriff haben
und die Entwickleroptionen im Android sind standardmäßig auch versteckt und ausgeschaltet.


Wenn es sich als Massenspeicher ausgibt, dann geht meistens nur das und nichts Anderes,
also hier kann man nur noch im Android nachsehn und muß es umstellen.



Für die Sicherheit ist es natürlich schon besser, wenn standardmäßig kein Zugriff für sowas wie ADB und Debugger möglich sind, damit nichts Böses über gefälschte USB-Ladegeräte oder beim Laden am USB des PCs am Handy rumfummeln kann.

TurboMagic 13. Mai 2020 21:06

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
1. Irgendwo gibt's auch einen universellen ADB treiber, der angeblich für alle Androiden passt.
Klappte jedenfalls mit meinen.

2. Android Gerät als USB Gerät an die VM Ware VM dranhängen und nicht an den Bost.

3. Debugmodus im Android Gerät freischalten. Dazu in den Einstellungen 10x auf die Build Nummer
oder so in den Systeminfos tippen.

4. Wenn ADB auf das Gerät zugreifen will sollte eine Meldung auf dem Androiden aufpopen mit
einem Fingerprint und einer Checkbox zum Zulassen des Debugzugriffs. Den muss man natürlich
bestätigen.

5. Irgendwo im Android SDK gibt's eine adb.exe. Die mal auf der Kommandozeile aufrufen:
adb devices
Das sollte eine Liste verbundener Geräte mit ktiviertem Entwicklungsmodus anzeigen.

6. Wenn der allgemeine Treiber nicht funktioniert auf der Herstellerwebseite nach einem
Android ADB/Debugtreiber suchen. Erscheinen des Gerätes als Massenspeicher in Windows
bringt nix, sollte meistens aber auch nkicht schädlich sein.

Rollo62 14. Mai 2020 06:11

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Zitat:

Zitat von TurboMagic (Beitrag 1464503)
1. Irgendwo gibt's auch einen universellen ADB treiber, der angeblich für alle Androiden passt.
Klappte jedenfalls mit meinen.

Siehe mein Link, hast Du den benutzt ?

menten 14. Mai 2020 10:37

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo zusammen,

zur Antwort von "Alter Mann": Die unterschiedlichen Einstellungen habe ich ausprobiert. Das Gerät meldet sich dann unterschiedlich an, verwendet aber immer den Standard Treiber von Windows.

Zur Antwort von Yayway und Turbomagic: Die Treiber und Anwendungen von Lenovo habe ich ausprobiert. Dazu folgendes Ergebnis:

Auf der CD sind Treiber und ein "Mobile Assistent". Die Treiberinstallation kopiert wohl nur Dateien auf den Rechner. Mit dem Mobile Assistent kann man auf das Gerät zugreifen. Dazu wird auch der Debug Mode eingeschaltet. Das funktioniert alles, und zwar auf Hardware und in der VM.

Bei den kopierten Treibern ist auch ein ADB Treiber. Wenn ich versuche den dem Gerät zuzuordnen, kommt die Meldung, das für das Gerät kein Treiber zur Verfügung steht. Wenn ich in der Inf-Datei nach der ID des Gerätes suche, finde ich die ID, allerdings mit einer anderen Suffix (siehe Screenshots).

Ich habe dann einen Eintrag mit der Suffix aus dem Geräte-Manager eingefügt (für x86 und i64). Beim Versuch, danach den Treiber zuzuordnen, bekomme ich einen Eintrag angezeigt. Allerdings kommt dann die Fehlermeldung, das etwas mit der Katalogdatei nicht stimmt (siehe Screenshot).

Mein Fazit ist, dass die Treiber Konfiguration für das Gerät nicht stimmt.

Zur Antwort von Rollo62: Den "UniversalAdbDriver" habe ich runtergeladen und ausprobiert. Es ist aber immer das gleiche Ergebnis. Ich bin kein Spezialist für INF Dateien, aber wenn die Hardware ID nicht enthalten ist, wird auch kein Treiber installiert? Und es reicht offensichtlich nicht, die ID in die Inf Datei einzutragen?

Also werde ich mich mal an den Lenovo Support wenden.



Danke und Gruß
Stefan Menten

Rollo62 14. Mai 2020 12:20

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Das war zwar weiter unten schon quasi vorgeschlagen, aber hier noch eine Seite zum ADB remote,
das sollte auch ohne USB-Treiber funktionieren.

Wollte ich immer mal ausprobieren, bin aber noch nicht dazu gekommen, und mein USB-ADB läuft auch zu gut dafür :stupid:

Positive Rückmeldung und Hinweise wenn und wie es genau funktioniert wären erwünscht.
Vor dem Problem stehen wir Alle mal.

Rollo62 14. Mai 2020 12:21

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
...

menten 14. Mai 2020 13:08

AW: Delphi 10.3.3 Android Geräte unter VMWare
 
Hab ich mir angesehen. Problem ist, dass nicht-gerootete Geräte zuerst über USB angeschlossen und konfiguriert werden müssen. Dafür ist dann aber wieder ADB erforderlich weil das mit der ADB.exe gemacht werden muss.



Viele Grüße
Stefan Menten


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 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