Ausführen von Android-Anwendungen auf einem Android-Gerät

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Mobile Android-Anwendungsentwicklung


Nachdem Sie Ihr Entwicklungssystem für die Android-Entwicklung vorbereitet, das USB-Debugging auf Ihrem Gerät aktiviert und Ihr System für die Erkennung des Android-Geräts konfiguriert haben, können Sie eine geräteübergreifende Anwendung auf einem angeschlossenen Android-Gerät ausführen.

  1. Schließen Sie Ihr Android-Gerät über das USB-Kabel des Geräts an Ihr Entwicklungssystem an.
    Ihr Android-Gerät sollte im Geräte-Manager (auf den Sie über die Systemsteuerung zugreifen) unter Tragbare Geräte aufgeführt werden.
    Weitere Informationen finden Sie unter Konfigurieren des Systems für die Erkennung von Android-Geräten.
  2. Wählen Sie in Appmethod entweder Datei > Neu > Geräteübergreifende Anwendung - Object Pascal oder Datei > Neu > Geräteübergreifende Anwendung - C++ aus.
  3. Aktivieren Sie in der Projektverwaltung die Zielplattform Android (durch Doppelklicken).
  4. Aktivieren Sie das Android SDK für Ihr Gerät:
    1. Klicken Sie in der Projektverwaltung mit der rechten Maustaste auf den Knoten "Android", und wählen Sie Eigenschaften aus.
    2. Klicken Sie im Dialogfeld Plattformeigenschaften auf den Abwärtspfeil im Feld SDK (Software Development Kit), und wählen Sie eine der folgenden Optionen:
      • Die von Ihnen installierte Android SDK-Version, wenn sie angezeigt wird
      • Neue hinzufügen
        1. Klicken Sie im Dialogfeld Neues SDK hinzufügen auf den Abwärtspfeil im Feld SDK-Version auswählen, und wählen Sie das installierte Android SDK aus.
        2. Füllen Sie die Felder im Experten Neues Android SDK erstellen aus. Die meisten Felder werden automatisch vom Experten ausgefüllt.
  5. Aktivieren Sie das Android-Gerät als Zielplattform: Öffnen Sie in der Projektverwaltung in der Zielplattform Android den Knoten Ziel, und doppelklicken Sie auf Ihr Android-Gerät.
    Wenn Ihr Android-Gerät richtig installiert wurde, dann wird die SDK-Versionsnummer neben dem Gerät des Android-Ziels angezeigt, z. B.:
    Android - Android SDK 22.0.1
    Tipps: Wenn Ihr Gerät nicht angezeigt wird, führen Sie die folgenden Schritte aus:
    1. Klicken Sie in der IDE mit der rechten Maustaste auf den Zielknoten, und wählen Sie Aktualisieren.
    2. Öffnen Sie in der Systemsteuerung den Geräte-Manager:
      1. Überprüfen Sie, ob Ihr Android-Gerät aufgeführt wird. In der Regel sollte es unter Tragbare Geräte angezeigt werden.
      2. Wenn Ihr Gerät nicht aufgeführt wird, klicken Sie mit der rechten Maustaste auf irgendeinen Knoten, und wählen Sie Nach geänderter Hardware suchen.
      3. Verwenden Sie bei Bedarf den Android SDK Manager, um den Gerätetreiber für Ihr Android-Gerät zu deinstallieren und dann erneut zu installieren. Wählen Sie Start | Alle Programme | Embarcadero Appmethod 1.15 | Android-Tools.



  1. Die folgende Abbildung zeigt einen Android-Zielknoten mit dem Gerät Nexus 10, einen Emulator, der ausgeführt wird, und mehrere Emulatoren, die nicht ausgeführt werden:
    AndroidPopulatedNode.png
  2. Wenn Sie im Knoten Konfiguration der Projektverwaltung die Plattformkonfiguration Anwendungs-Store ausgewählt haben, müssen Sie auf der Seite Bereitstellung ein Signierungszertifikat für die Plattformkonfiguration Anwendungs-Store konfiguriert haben. Für die Plattformkonfiguration Debug ist kein Signierungszertifikat erforderlich.
  3. Führen Sie Ihre Anwendung aus:
    • Führen Sie sie mit Debugger aus (Start > Start oder F9)
    • Führen Sie sie ohne Debugger aus (Start > Ohne Debugger ausführen oder Umschalt+Strg+F9).

Appmethod erzeugt Ihre Anwendung für Android und führt sie auf dem ausgewählten Android-Gerät aus. Wenn der Android-Gerätebildschirm gesperrt ist, entsperren Sie ihn, um auf Ihre Anwendung zuzugreifen.

Ausführen der Anwendung mit bereinigten Daten- und Zwischenspeicherordnern

Beim Ausführen einer Anwendung auf einem Android-Gerät installiert Appmethod Ihre Anwendung auf dem Gerät mit dem Package-Namen, den Sie auf den Versionsinformationen-Optionsseiten festgelegt haben, um Ihre Anwendung eindeutig zu kennzeichnen. Der Package-Name lautet per Vorgabe "com.embarcadero.$(ModuleName)", wobei $(ModuleName) der Name Ihres Projekts, wie z. B. "Project1", ist.

Wenn Sie Ihre Anwendung auf einem Gerät ausführen, das bereits eine früher installierte Anwendung mit demselben Package-Namen enthält, wird mit dem Befehl "Start" Ihre Anwendung neu installiert, aber es wird nur die ausführbare Datei aktualisiert; die Daten- und Zwischenspeicherordner Ihrer Anwendung werden nicht aktualisiert.

So konfigurieren Sie Appmethod, damit mit den Aktionen Ohne Debugger ausführen und Start vor der Installation der neueren Version alle zuvor installierten Versionen Ihrer Anwendung, einschließlich der Daten- und Zwischenspeicherordner, vollständig deinstalliert werden:

  1. Wählen Sie Start > Parameter.
  2. Geben Sie in das Feld Parameter "-cleaninstall" ein:
    RunParametersCleanInstall.png
  3. Klicken Sie zum Speichern der Änderungen auf OK.

Fehlerbehebung

Blockade beim "Deinstallieren" im Dialogfeld "Ausführen"

Sie müssen höchstwahrscheinlich das USB-Debugging ausdrücklich für Ihren Computer aktivieren, wenn beim Ausführen von Android 4.2.2 oder später und beim Klicken auf Start oder Ohne Debugger ausführen Appmethod bei diesem Bildschirm hängen bleibt:

StuckAtUninstallingOnTheRunDialogBox.png

Außerdem müssen Sie wahrscheinlich die allgemeine USB-Debugging-Einstellung auf Ihrem Gerät aktivieren. Wenn dies zutrifft, sollte auf Ihrem Gerät ein Dialogfeld angezeigt werden, in dem Sie das USB-Debugging zulassen müssen:

AndroidEnableUSBDebuggingDialog.png

Klicken Sie auf OK, um das USB-Debugging zuzulassen.

Falls Sie versehentlich auf Cancel geklickt haben, trennen Sie Ihr Gerät vom PC, und schließen Sie es wieder an, damit das Dialogfeld auf Ihrem Gerät erneut angezeigt wird.

Workaround für Android 4.0/Kindle Fire-Meldung: "Anwendung unterstützt dieses Gerät nicht"

Wenn Sie versuchen, eine Android-App auf einem Gerät mit Android 4.0.x (einschließlich einiger Geräte mit Amazon Kindle Fire) auszuführen, wird möglicherweise die folgende Meldung angezeigt:

 Application does not support this device

Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Öffnen Sie in der IDE den Bereitstellungs-Manager (Projekt > Bereitstellung), und suchen Sie den folgenden Eintrag:
    Lokaler Name: libnative-activity.so
    Remote-Pfad: library\lib\armeabi\
  2. Deaktivieren Sie den Eintrag, um die Bereitstellung dieser Datei zu verhindern.

Android-Konsole-App muss beim Start eine Pause bereitstellen

Wenn Sie eine Android-Konsolen-App ausführen, könnte die App bereits vollständig ausgeführt sein, bevor der Debugger gestartet wurde. Wir empfehlen Ihnen daher, einen "sleep"-Befehl am Anfang Ihres Codes einzufügen, um dieses Problem zu vermeiden. Zum Beispiel:

sleep(3000)

Die für Ihre App geeignete "sleep"-Dauer (angegeben in Millisekunden) hängt von der Gesamtleistung Ihres Zielgeräts ab; d. h., für langsame Hardware wird eine längere Wartezeit benötigt. (Für einen Android-Emulator (AVD), ist auch die AVD-Host-Geschwindigkeit von Bedeutung, und eine sichere Wartezeit für ein AVD kann einige Minuten betragen.)

Android-Apps, deren Dateiname Unicode enthält, können nicht bereitgestellt werden

Eine Android-App startet eventuell nicht auf dem Gerät, wenn die Bereitstellung eine Datei mit Unicode-Zeichen enthält. Wenn Sie beispielsweise einer Android-Bereitstellung eine Datei mit dem Namen "test試験.txt" hinzufügen, wird nur ein schwarzer Bildschirm angezeigt und die App geschlossen. Der Grund dafür ist, dass eine Datei mit Unicode-Zeichen im Dateinamen ignoriert wird und nicht zur Android-APK-Datei hinzugefügt wird. Die App schlägt aufgrund der unvollständigen Bereitstellung fehl.

Siehe auch