Udrul til mobiltelefoner og brug af cordova-plugins
Vi har udviklet en simpel webapplikation, og nu vil vi forberede os, før vi udruller den til mobil. Ionic understøtter to platforme: iOS og Android, standardprojektet Ionic tilføjer ikke disse to platforme, vi skal tilføje det manuelt, cd til udviklingsmappen for at udføre kommandoen:
Jeg har kun brug for Android-platformen her, og efter at have udført den, vil jeg udføre kommandoen for at se listen over platforme, du har tilføjet:
> Cordova Platform LS
Du er blevet fravalgt telemetri. For at ændre dette, kør: cordova telemetri på. Installerede platforme: Android 7.0.0 Tilgængelige platforme: browser ~5.0.1 ios ~4.5.4 OSX ~4.0.1 Windows ~5.0.0 www ^3.12.0
Android-pakke
(Hvis der er et problem med denne kommando, kan du fjerne -release og derefter fejlfinde kompileringen, og kompileringen er færdig, DOS vil vise APK-mappeplaceringen)
Hvis dine kloge øjne opdager følgende ord: Byg succes! Det betyder, at du har pakket med succes. Vær tålmodig, i slutningen af kommandolinjen vil du få besked om, hvor apk'en er genereret.
Når jeg udfører pakningskommandoen igen, vil fejlen være som følger: fejlen er, at jdk-versionen er for høj, jeg er "jdk-10.0.1" versionen, og jeg kan gendownloade og installere en "1.8.0_171" version for at løse problemet!!
C:\project\android\myApp>ionic cordova build android --release Kører app-scripts build: --platform android --mål cordova [17:06:47] build-udvikleren er startet ... [17:06:47] Frisk start ... [17:06:47] rent afsluttet på 8 ms [17:06:47] Kopi startet ... [17:06:47] Deeplinks startede ... [17:06:47] Deeplinks blev færdig på 15 ms [17:06:47] transpil påbegyndt ... [17:06:50] Transpile sluttede på 3,71 sekunder [17:06:50] forprocessen startede ... [17:06:50] forprocessen færdig på 1 ms [17:06:50] webpack startet ... [17:06:51] kopi færdig på 3,96 s [17:06:56] Webpack sluttede på 5,58 sekunder [17:06:56] Sass startede ... Uden 'from'-muligheden kan PostCSS generere forkert kildekort og vil ikke finde Browserslist-konfigurationen. Sæt den til CSS-filsti eller 'udefineret' for at forhindre denne advarsel. [17:06:58] Sass sluttede på 2,05 sekunder [17:06:58] postprocessen startede ... [17:06:58] postprocessen afsluttet på 10 ms [17:06:58] fnug begyndte ... [17:06:58] build-udvikleren blev færdig på 11,65 sekunder > Cordova build Android --udgivelse
Du er blevet fravalgt telemetri. For at ændre dette, kør: cordova telemetri på. Android Studio-projekt opdaget
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (node:14940) UnhandledPromiseRejectionWarning: Ubehandlet løfteafvisning (afvisnings-id: 1): CordovaError: Kravkontrol fejlede for JDK 1.8 eller højere (node:14940) [DEP0018] Advarsel: Afvisninger af uhåndterede løfter er forældede. I fremtiden vil afvisninger af løfter, der ikke håndteres, afslutte Node.js-processen med en ikke-nul exit-kode.
[17:07:01] Lint sluttede på 3.00 sekunder Udfør ovenstående kommando igen, fordi min netværkshastighed er langsom, og det er første gang, jeg skal eksekvere, downloade mange komponenter osv., og køre det i 12 minutter, som vist i figuren nedenfor:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Jeg kopierer "app-release-unsigned.apk" til min telefon (Huawei Honor 10), og fejlen vil være som følger:
Det skyldes, at appen ikke er signeret og ikke kan installeres.
APK-signatur
Da min Java-mappe ligger i miljøvariablerne, behøver jeg kun at udføre cmd-kommandoen som følger:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA bruger RSA-algoritmen til at kryptere signaturer -gyldighed 40000 Gyldighed 4000 dage -keystore itsvse.keystore filnavn */ apksigner findes i build-tools-mappen i SDK-kataloget. Det skal bemærkes, at v2-signeringsmetoden først blev introduceret efter Android 7.0, så apksigner.jar kan kun findes i SDK\build-tools\ for version >25. Åbn cmd, klip mappen til SDK\build-tools\Version number\lib (for eksempel C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib), og kør:
Eksempel:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore nøglebutik placering -signedjar demor_signed.apk demo.apk demo.keystore officielt signeret, filen demo_signed genereret efter login i rækkefølge efter de tre parametre, filen demo.apk signeres, og keystore demo.keystore.*/
Tjek om apk'en allerede er underskrevet:
Vi kopierer den signerede "output.apk"-fil til telefonen og installerer den derefter, den kan installeres normalt, og den kan køre normalt, som vist i figuren nedenfor:
|