Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 12549|Antwort: 0

[ionisch] Ionic Development Android App Practice (2): Android Packaging apk

[Link kopieren]
Veröffentlicht am 20.06.2018 10:16:52 | | | |
Bereitstellung auf Mobiltelefonen und Nutzung von Cordova-Plugins

Wir haben eine einfache Webanwendung entwickelt und werden nun einige Vorbereitungen treffen, bevor wir sie mobil einsetzen.
Ionic unterstützt zwei Plattformen: iOS und Android, das Standard-Ionic-Projekt fügt diese beiden Plattformen nicht hinzu, wir müssen es manuell hinzufügen, cd ins Entwicklungsverzeichnis bringen, um den Befehl auszuführen:


Ich brauche hier nur die Android-Plattform, und nachdem ich sie ausgeführt habe, führe ich den Befehl aus, um die Liste der hinzugefügten Plattformen anzuzeigen:

> Cordova Bahnsteig LS

Sie wurden von der Telemetrie ausgeschlossen. Um das zu ändern, laufen Sie: Cordova-Telemetrie aktiviert.
Installierte Plattformen:
  Android 7.0.0
Verfügbare Plattformen:
  Browser ~5.0.1
  ios ~4.5.4
  osx ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Android-Paket


(Wenn es ein Problem mit diesem Befehl gibt, können Sie -release entfernen und dann die Kompilierung debuggen, und die Kompilierung ist abgeschlossen; DOS zeigt den APK-Verzeichnisstandort an.)

Wenn deine klugen Augen folgende Worte entdecken: Build Success! Das bedeutet, dass Sie erfolgreich verpackt haben. Hab Geduld, am Ende der Kommandozeile wirst du darauf hinweisen, wo die APK generiert wurde.

Wenn ich den Verpackungsbefehl erneut ausführe, lautet der Fehler wie folgt: Der Fehler ist, dass die jdk-Version zu hoch ist, ich bin die "jdk-10.0.1"-Version, und ich kann eine "1.8.0_171"-Version neu herunterladen und installieren, um das Problem zu lösen!!

C:\project\android\myApp>ionic cordova build android --release
Ausführung von App-Skripten: --Plattform Android --Ziel cordova
[17:06:47] Build-Entwicklung begann ...
[17:06:47] Neu gestartet ...
[17:06:47] sauber beendet in 8 ms
[17:06:47] Kopie gestartet ...
[17:06:47] Deeplinks begann ...
[17:06:47] Deeplinks war in 15 ms fertig
[17:06:47] Transpile begann ...
[17:06:50] Transpile beendet in 3,71 Sekunden
[17:06:50] Der Vorprozess begann ...
[17:06:50] Vorprozess in 1 ms abgeschlossen
[17:06:50] Webpack startete ...
[17:06:51] Kopie fertig in 3,96 Sekunden
[17:06:56] WebPack beendete das Ende in 5,58 Sekunden
[17:06:56] Frechheit begann ...
Ohne die 'from'-Option könnte PostCSS eine falsche Quellkarte generieren und findet die Browserslist-Konfiguration nicht. Setze sie auf CSS-Dateipfad oder auf 'undefiniert', um diese Warnung zu verhindern.
[17:06:58] Sass beendete das Ziel in 2,05 Sekunden
[17:06:58] Nachbearbeitung begann ...
[17:06:58] Nachbearbeitung in 10 ms abgeschlossen
[17:06:58] Fussel begann ...
[17:06:58] Build-Entwicklung in 11,65 Sekunden abgeschlossen
> Cordova Build Android – Veröffentlichung

Sie wurden von der Telemetrie ausgeschlossen. Um das zu ändern, laufen Sie: Cordova-Telemetrie aktiviert.
Android-Studio-Projekt erkannt

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(Knoten:14940) UnhandledPromiseRejectionWarning: Unhandled promise rejection (Rejection id: 1): CordovaError: Anforderungsprüfung fehlschlug bei JDK 1.8 oder höher fehl
(Knoten:14940) [DEP0018] Warnung: Unbearbeitete Ablehnungen von Versprechen sind veraltet. In Zukunft werden Versprechensablehnungen, die nicht behandelt werden, den Node.js Prozess mit einem von null verschiedenen Ausgangscode beenden.

[17:07:01] Lint wurde in 3,00 Sekunden fertig

Führe den obigen Befehl erneut aus, weil meine Netzwerkgeschwindigkeit langsam ist und es das erste Mal ist, dass ich ausführen, viele Komponenten herunterladen usw. und es für 12 Minuten ausführen muss, wie in der Abbildung unten gezeigt:



C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。

Ich kopiere "app-release-unsigned.apk" auf mein Handy (Huawei Honor 10), und der Fehler lautet wie folgt:



Das liegt daran, dass die App nicht signiert ist und nicht installiert werden kann.

APK-Signatur

Da mein Java-Verzeichnis in den Umgebungsvariablen liegt, muss ich den cmd-Befehl nur wie folgt ausführen:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA verwendet den RSA-Algorithmus zur Verschlüsselung von Signaturen
       -Gültigkeit 40.000 Gültigkeit 4.000 Tage
       -keystore itsvse.keystore Dateiname */

apksigner befindet sich im build-tools-verzeichnis des SDK-Verzeichnisses. Es ist zu beachten, dass die v2-Signing-Methode erst nach Android 7.0 eingeführt wurde, sodass apksigner.jar nur im SDK\build-tools\ für Version >25 zu finden ist.
Öffne cmd, schneide das Verzeichnis auf SDK\build-tools\Version number\lib (zum Beispiel C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) und führe aus:


Beispiel:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore standort
       -signedjar demor_signed.apk demo.apk demo.keystore offiziell signiert, die Datei demo_signed nach der Anmeldung in der Reihenfolge der drei Parameter generiert, die Datei demo.apk signiert werden und der keystore demo.keystore.*/



Überprüfen Sie, ob die APK bereits unterschrieben ist:

Wir kopieren die signierte "output.apk"-Datei aufs Telefon und installieren sie dann, sie kann normal installiert werden und normal laufen, wie in der untenstehenden Abbildung gezeigt:







Vorhergehend:Wie man mehrere Java-Versionen komplett deinstalliert
Nächster:Keine Komponentenfabrik für ListPage gefunden. Hast du es hinzugefügt zu
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com