Distribuer til mobiltelefoner og bruk av Cordova-plugins
Vi har utviklet en enkel webapplikasjon, og nå skal vi gjøre noen forberedelser før vi ruller den ut til mobil. Ionic støtter to plattformer: iOS og Android, standard Ionic-prosjektet legger ikke til disse to plattformene, vi må legge det til manuelt, cd til utviklingsmappen for å utføre kommandoen:
Jeg trenger bare Android-plattformen her, og etter å ha kjørt den, vil jeg utføre kommandoen for å se listen over plattformer du har lagt til:
> Cordova-plattform LS
Du har blitt valgt bort fra telemetri. For å endre dette, kjør: cordova-telemetri på. Installerte plattformer: Android 7.0.0 Tilgjengelige plattformer: nettleser ~5.0.1 ios ~4.5.4 OSX ~4.0.1 Windows ~5.0.0 www ^3.12.0
Android-pakke
(Hvis det er et problem med denne kommandoen, kan du fjerne -release og deretter debug-kompilering, og kompileringen er fullført, DOS vil vise APK-katalogens plassering)
Hvis dine kloke øyne oppdager følgende ord: Bygg suksess! Det betyr at du har pakket med suksess. Vær tålmodig, slutten av kommandolinjen vil vise deg hvor apk-en er generert.
Når jeg kjører pakkingskommandoen igjen, vil feilen være som følger: feilen er at jdk-versjonen er for høy, jeg er "jdk-10.0.1"-versjonen, og jeg kan laste ned og installere en "1.8.0_171"-versjon på nytt for å løse problemet!!
C:\project\android\myApp>ionic cordova build android --release Kjører app-skript build: --plattform android --mål cordova [17:06:47] byggeutviklingen startet ... [17:06:47] På en frisk start ... [17:06:47] Rent avsluttet på 8 ms [17:06:47] Kopi startet ... [17:06:47] Deeplinks startet ... [17:06:47] Deeplinks ble ferdig på 15 ms [17:06:47] transpile startet ... [17:06:50] transpile fullført på 3,71 sekunder [17:06:50] forprosessering startet ... [17:06:50] forprosessering fullført på 1 ms [17:06:50] Webpack startet ... [17:06:51] kopi ferdig på 3,96 sekunder [17:06:56] Webpack ble ferdig på 5,58 sekunder [17:06:56] Sass begynte ... Uten 'from'-alternativet kan PostCSS generere feil kildekart og vil ikke finne Browserslist-konfigurasjonen. Sett den til CSS-filsti eller til 'udefinert' for å forhindre denne advarselen. [17:06:58] Sass fullførte på 2,05 sekunder [17:06:58] etterbehandlingen startet ... [17:06:58] etterbehandlingen var ferdig på 10 ms [17:06:58] lo begynte ... [17:06:58] byggeutviklingen ble ferdig på 11,65 sekunder > Cordova Build Android – utgivelse
Du har blitt valgt bort fra telemetri. For å endre dette, kjør: cordova-telemetri på. Android Studio-prosjekt oppdaget
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (node:14940) UnhandledPromiseRejectionAdvarsel: Avvisning av ubehandlet løfte (avvisnings-id: 1): CordovaError: Kravkontroll feilet for JDK 1.8 eller høyere (node:14940) [DEP0018] AvskrivningAdvarsel: Avslag på ubehandlede løfter er utdatert. I fremtiden vil avslag av løfter som ikke håndteres, avslutte Node.js-prosessen med en ikke-null utgangskode.
[17:07:01] Lint kom i mål på 3.00 sekunder Kjør kommandoen ovenfor igjen, fordi nettverkshastigheten min er treg, og det er første gang jeg kjører, laster ned mange komponenter osv., og kjører det i 12 minutter, som vist i figuren under:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Jeg kopierer "app-release-unsigned.apk" til telefonen min (Huawei Honor 10), og feilmeldingen vil være som følger:
Dette skyldes at appen ikke er signert og ikke kan installeres.
APK-signatur
Siden Java-katalogen min er i miljøvariablene, trenger jeg bare å utføre cmd-kommandoen som følger:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA bruker RSA-algoritmen for å kryptere signaturer -gyldighet 40000 Gyldighet 4000 dager -keystore itsvse.keystore filnavn */ apksigner ligger i build-tools-katalogen i SDK-katalogen. Det må bemerkes at v2-signeringsmetoden først ble introdusert etter Android 7.0, så apksigner.jar finnes kun i SDK\build-tools\ for versjon >25. Åpne cmd, klipp katalogen til SDK\build-tools\Version number\lib (for eksempel C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib), og kjør:
Eksempel:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore keystore nøkkelbutikk lokasjon -signedjar demor_signed.apk demo.apk demo.keystore offisielt signert, filen demo_signed generert etter innlogging i rekkefølge etter de tre parameterne, filen demo.apk signert, og keystore demo.keystore.*/
Sjekk om apk-en allerede er signert:
Vi kopierer den signerte "output.apk"-filen til telefonen, og installerer den, den kan installeres som normalt, og den kan kjøre normalt, som vist i figuren under:
|