Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 12549|Svar: 0

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

[Kopier link]
Opslået på 20/06/2018 10.16.52 | | | |
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:







Tidligere:Sådan afinstallerer du fuldstændigt flere versioner af Java
Næste:Ingen komponentfabrik fundet til ListPage. Tilføjede du det til
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com