Im vorherigen Artikel habe ich Ihnen einen Überblick über die Konvertierung einer vorhandenen Android-App in HMS-Unterstützung gegeben. In diesem Artikel möchte ich vorstellen, wie eine GMS-Anwendung mit dem von Huawei bereitgestellten Tool zur automatischen Codekonvertierung (ToolKit) in eine Anwendung konvertiert wird, die sowohl auf GMS- als auch auf HMS-Terminals betrieben werden kann.
Zunächst möchte ich kurz die Gliederung und das Prinzip von ToolKit vorstellen.
ToolKit ist ein Android Studio-Plug-In-Tool mit Funktionen wie Codierungsassistent, Cloud-Debugging, Cloud-Tests und automatischer Codekonvertierung während der HMS-Entwicklung.
ToolKit-Tool zur automatischen Codekonvertierung (GitHub-Link) ) Ist ein Tool, das die in der ursprünglichen App verwendete GMS-API erkennt und automatisch in G + H-kompatibel konvertiert und sowohl mit Kotlin als auch mit Java kompatibel ist. Dieses Mal habe ich ein Tool zur automatischen Codekonvertierung (Convertor) verwendet, um eine vorhandene GMS-Anwendung in G + H-kompatibel zu konvertieren. Daher möchte ich Ihnen mitteilen, wie das geht.
Die Kosten für die Konvertierung sind niedriger als erwartet und die Konvertierung dauerte weniger als 10 Minuten, ohne Vorarbeiten. Wenn Sie also interessiert sind, können Sie es selbst versuchen.
Die offizielle Website von Huawei beschreibt das Prinzip des Konverters wie folgt.
· HMS-API hinzufügen: Fügt den xmsAdapter hinzu, ein Adaptercodemodul, das auf dem ursprünglichen Code zum Aufrufen von APIs von Drittanbietern basiert. Der Adaptercode kann APIs von Drittanbietern oder HMS-APIs basierend auf der Planungsrichtlinie aufrufen. Die Planungsrichtlinie wird festgelegt von dir. · Zur HMS-API: Ersetzt den API-Code eines Drittanbieters im App-Code durch den als HMS-API bezeichneten Code. Der konvertierte Code ruft direkt die HMS-APIs auf.
Darüber hinaus enthält diese Seite detailliertere Grundsätze.
Ich habe die Konvertierungslogik auf meine eigene Weise verstanden und ein Bilddiagramm erstellt. Das Zentrum ist die ursprüngliche App, links die App nach der G + H-Konvertierung und rechts die App nach der G2H-Konvertierung. Ich habe G + H und G2H im vorherigen Artikel eingeführt. Wenn Sie sich nicht sicher sind, lesen Sie bitte diesen Artikel.
Bei der G2H-Konvertierung ist dies relativ einfach, und Converter ersetzt alle GMS-APIs und -Pakete in der App durch das entsprechende HMS (in der obigen Abbildung „App nach G2H-Konvertierung“).
Im Fall von G + H ("App nach G + H-Konvertierung") ist dies etwas kompliziert, und bei der Konvertierung mit Converter wird ein neues Modul (xmsadaptor) gemäß der von Converter in der ursprünglichen Anwendung verwendeten GMS-API hinzugefügt. ) Wird erzeugt (grüner Teil in der obigen Abbildung). Alle im Originalcode verwendeten GMS-APIs werden in XMS-APIs konvertiert.
Wenn eine bestimmte API aufgerufen wird, beurteilt dieser xmsadaptor die Verfügbarkeit von GMS / HMS des Terminals, und die API des SDK des entsprechenden GMS / HMS wird gemäß dem Beurteilungsergebnis verwendet.
Um die Konvertierung auszuprobieren, habe ich mit GMS eine einfache Demo-App erstellt. Die Demo-App verwendet Google Maps und das Standort-SDK, um beim Start der App eine Karte des aktuellen Standorts des Benutzers anzuzeigen.
Wenn Sie die App vor der Konvertierung auf Ihrem HMS-Gerät installieren, wird ein Dialogfeld wie dieses angezeigt, in dem Google Play Developer Services nicht verwendet werden kann.
Ich habe GitHub vorerst die App vor der Konvertierung gegeben. Wenn Sie interessiert sind, verwenden Sie dies bitte direkt zum Konvertieren. (Sie benötigen einen API-Schlüssel für die Google Maps-API, die von Ihrer eigenen Google Cloud-Plattform ausgestellt wurde.) GitHub: https://github.com/vptsama/GHDemo_BeforeConversion
Bevor Sie die eigentliche Konvertierung durchführen, müssen Sie sich zunächst auf die Verwendung des Map SDK & Location SDK und des ToolKit von HMS vorbereiten.
Um das HMS SDK verwenden zu können, benötigen Sie ein Huawei-Entwicklerkonto. Es gibt zwei Hauptschritte, um ein Konto zu beantragen:
Bei der 2-Entwickler-Zertifizierung gibt es zwei Optionen: die persönliche Entwicklerzertifizierung und die Unternehmensentwicklerzertifizierung. Ich habe mich jedoch mit einem persönlichen Konto authentifiziert und die Prüfung wurde in ungefähr einem Tag abgeschlossen. Ich bin auch dankbar, dass Sie sich kostenlos bewerben können.
Eine ausführliche Anleitung finden Sie auf der folgenden Website (Englisch). Anwendungshandbuch für Huawei ID: https://developer.huawei.com/consumer/en/doc/10104 Entwicklerzertifizierung (für Einzelpersonen): https://developer.huawei.com/consumer/en/doc/10122
AppGallery Connect (https://developer.huawei.com/consumer/en/console) ist die Entwicklerkonsole von Huawei.
Wie bei Google müssen Sie zur Verwendung des HMS SDK zunächst verschiedene Einstellungen an der Konsole vornehmen.
Der allgemeine Fluss ist wie folgt.
Eine ausführliche Anleitung finden Sie auf der folgenden Website (Englisch). Handbuch zur Einstellung von App-Informationen: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/hms-map-configuringinagc
ToolKit kann direkt in Android Studio installiert werden. Wenn Sie unter Datei> Einstellungen> Plugins> Marktplatz nach HMS suchen, wird es angezeigt und Sie können es einfach installieren.
Eine ausführliche Anleitung finden Sie auf der folgenden Website (Englisch). ToolKit-Installationshandbuch: https://developer.huawei.com/consumer/en/doc/development/Tools-Guides/installation-0000001050145206
Von hier aus starten wir die eigentliche Konvertierung.
Öffnen Sie zunächst das Projekt, das Sie in Android Studio konvertieren möchten, und starten Sie die Konvertierung, indem Sie in der Symbolleiste Konverter → Neue Konvertierung von "HMS" auswählen. Klicken Sie auf Neue Konvertierung. Der folgende Bildschirm wird angezeigt.
Wählen Sie nun das Sicherungsverzeichnis aus und klicken Sie auf Weiter.
Klicken Sie auf Weiter, um den Scan zu starten. Nach einer Weile werden die Ergebnisse angezeigt.
Wenn Sie sich die Scanergebnisse ansehen, können Sie sehen, wie viel GMS-API in der aktuellen Datei verwendet wird und wie viele APIs automatisch konvertiert werden können. In diesem Fall kann die 100% GMS-API automatisch in HMS konvertiert werden (Auto Rate: 100%).
Wählen Sie abschließend die Konvertierungslösung (HMS hinzufügen oder Zu HMS hinzufügen) und klicken Sie auf Analysieren, um die Analyse zu starten. Dieses Mal habe ich Add HMS API (GMS API First) gewählt. Wenn Sie dies auswählen, wird es konvertiert, um vorzugsweise zu bestimmen, ob GMS verwendet werden kann, GMS zu verwenden, wenn GMS verwendet werden kann, und HMS zu verwenden, wenn GMS nicht verwendet werden kann.
Nach Abschluss der Analyse wird zuerst die Datei "README.md" angezeigt, in der die Operationsmethode beschrieben wird. Das Ergebnis der Analyse wird unten angezeigt.
Wenn Sie sich die Analyseergebnisse ansehen, können Sie sehen, dass alle GMS im Projekt angefordert werden.
Bevor Sie den Code konvertieren, müssen Sie zuerst die Gradle-Datei konvertieren. Geben Sie build.gradle im Dateifilter an, aktivieren Sie das Leerzeichen am rechten Ende des Elements und klicken Sie auf "Konvertieren", um die HMS-Repositorys und Abhängigkeiten automatisch hinzuzufügen.
Wählen Sie als Nächstes app / build.gradle aus und fügen Sie Abhängigkeiten usw. mit dem gleichen Gefühl hinzu.
Die Teile in Rot können nicht automatisch konvertiert werden. Sie müssen sie daher manuell gemäß den Anweisungen in der Beschreibung korrigieren.
Stellen Sie den Filter schließlich auf settings.gradle ein und führen Sie eine automatische Konvertierung durch.
Synchronisieren Sie das Projekt nach Abschluss der Konvertierung der Gradle-Datei einmal.
Führen Sie nach der Synchronisierung die Codekonvertierung durch. Setzen Sie den Dateifilter auf Alle, überprüfen Sie alle Zeilen außer gradle und führen Sie die Konvertierung aus.
Damit sind alle Projektkonvertierungen abgeschlossen.
Eine ausführliche Anleitung finden Sie auf der folgenden Website (Englisch). Konverterhandbuch: https://developer.huawei.com/consumer/en/doc/development/Tools-Guides/convertor-0000001050147221
Ich habe die konvertierte App sowohl auf HMS- als auch auf GMS-Terminals installiert. Wenn Sie es auf einem GMS-Terminal öffnen, wird Google Map wie in der ursprünglichen App angezeigt.
Huawei Map wird jetzt korrekt angezeigt, wenn es auf einem HMS-Terminal geöffnet wird.
Auf diese Weise macht es der ToolKit Converter überraschend einfach, vorhandene Android-Apps in HMS-Unterstützung zu konvertieren.
Auch die Größe der APK vor und nach der Konvertierung, die Sie interessiert, Vor der Konvertierung: 2,4 MB Nach der Konvertierung: 3,9 MB Wird sein. Da die Zunahme nur etwa 1,5 MB beträgt, was den beiden SDKs (Karte, Standort) entspricht, denke ich, dass die Zunahme der Größe aufgrund der G + H-Unterstützung ebenfalls im zulässigen Bereich liegt.
Die konvertierte App wird auch auf GitHub veröffentlicht. Wenn Sie also den konvertierten Code sehen möchten, beziehen Sie sich bitte direkt darauf. (Um die Huawei Map anzuzeigen, müssen Sie die in "Vorbereitung 1" beschriebene Arbeit selbst ausführen.) GitHub: https://github.com/vptsama/GHDemo_AfterConversion
Huawei ist der weltweit zweitgrößte Hersteller von Smartphones mit einem Marktanteil von etwa 20% in Europa und etwa 50%, insbesondere in China. Wenn Sie also daran denken, Ihre App in Übersee zu erweitern, befinden wir uns in einer Zeit, in der es unvermeidlich ist, Ihre App mit HMS kompatibel zu machen und in der App-Galerie zu registrieren. Mit diesem ToolKit kann die eigentliche Konvertierung in sehr kurzer Zeit abgeschlossen werden. Sie können also auch die aktuelle App HMS-kompatibel machen und in der App Gallery freigeben, die Anzahl der Benutzer erhöhen und sich selbst zu einem globalen Huawei-Benutzer machen. Möchten Sie die App verteilen?
Recommended Posts