Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12549|Svar: 0

[joniskt] Jonic Development Android App Practice (2): Android Packaging apk

[Kopiera länk]
Publicerad på 2018-06-20 10:16:52 | | | |
Distribuera till mobiltelefoner och använda cordova-plugins

Vi har utvecklat en enkel webbapplikation, och nu ska vi göra några förberedelser innan vi distribuerar den till mobil.
Ionic stöder två plattformar: iOS och Android, standardprojektet Ionic lägger inte till dessa två plattformar, vi måste lägga till det manuellt, cd till utvecklingskatalogen för att utföra kommandot:


Jag behöver bara Android-plattformen här, och efter att ha kört den kommer jag att köra kommandot för att visa listan över plattformar du har lagt till:

> Cordova plattform LS

Du har valt bort telemetri. För att ändra detta, kör: cordova telemetri på.
Installerade plattformar:
  Android 7.0.0
Tillgängliga plattformar:
  webbläsare ~5.0.1
  ios ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Android-paket


(Om det uppstår problem med detta kommando kan du ta bort -release och sedan felsöka kompileringen, och kompileringen är klar, DOS visar apk-katalogens plats)

Om dina kloka ögon upptäcker följande ord: Bygg framgång! Det betyder att du har paketerat framgångsrikt. Ha tålamod, i slutet av kommandoraden kommer du att visa var apk:n genereras.

När jag utför paketeringskommandot igen kommer felet att vara följande: felet är att jdk-versionen är för hög, jag är "jdk-10.0.1"-versionen, och jag kan ladda ner och installera en "1.8.0_171"-version för att lösa problemet!!

C:\project\android\myApp>ionic cordova build android --release
Kör app-skript build: --plattform android --target cordova
[17:06:47] byggutveckling påbörjad ...
[17:06:47] På nytt startat ...
[17:06:47] Rent avslutat på 8 ms
[17:06:47] Kopiering påbörjad ...
[17:06:47] deeplinks började ...
[17:06:47] deeplinks avslutades på 15 ms
[17:06:47] Transpile påbörjades ...
[17:06:50] transpil avslutades på 3,71 s
[17:06:50] Förprocessen har börjat ...
[17:06:50] förprocessen avslutad på 1 ms
[17:06:50] Webpack startade ...
[17:06:51] kopia klar på 3,96 s
[17:06:56] Webpack avslutade på 5,58 s
[17:06:56] Sass började ...
Utan 'from'-alternativet kan PostCSS generera fel källkarta och hittar inte Browserslist-konfigurationen. Ställ in den på CSS-filsökväg eller 'odefinierad' för att undvika denna varning.
[17:06:58] Sass gick i mål på 2,05 sekunder
[17:06:58] efterprocessen påbörjad ...
[17:06:58] efterbehandlingen avslutad på 10 ms
[17:06:58] ludd började ...
[17:06:58] Byggutvecklaren avslutades på 11,65 sekunder
> Cordova bygger Android --släpp

Du har valt bort telemetri. För att ändra detta, kör: cordova telemetri på.
Android Studio-projekt upptäckt

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(nod:14940) UnhandledPromiseRejectionWarning: Unhandled promise rejection rejection (rejection id: 1): CordovaError: Kravkontrollen misslyckades för JDK 1.8 eller högre
(nod:14940) [DEP0018] AvbokningVarning: Ohanterade löftesavslag är föråldrade. I framtiden kommer löftesavvisningar som inte hanteras att avsluta Node.js processen med en icke-noll utgångskod.

[17:07:01] Lind slutade på 3.00 s

Utför ovanstående kommando igen, eftersom min nätverkshastighet är långsam, och det är första gången jag kör, laddar ner många komponenter osv., och kör det i 12 minuter, som visas i figuren nedan:



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

Jag kopierar "app-release-unsigned.apk" till min telefon (Huawei Honor 10), och felet blir följande:



Detta beror på att appen inte är signerad och inte kan installeras.

APK-signatur

Eftersom min Java-katalog finns i miljövariablerna behöver jag bara köra cmd-kommandot enligt följande:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA använder RSA-algoritmen för att kryptera signaturer
       -giltighet 40000 giltighet 4000 dagar
       -keystore itsvse.keystore filnamn */

apksigner finns i build-tools-katalogen i SDK-katalogen. Det bör noteras att v2-signeringsmetoden först introducerades efter Android 7.0, så apksigner.jar kan endast hittas i SDK\build-tools\ för version >25.
Öppna cmd, klipp katalogen till SDK\build-tools\Version number\lib (till exempel C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib), och kör:


Exempel:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore-nyckelbutik plats
       -signedjar demor_signed.apk demo.apk demo.keystore officiellt signerad, filen demo_signed genererad efter inloggning i ordning inom de tre parametrarna, filen demo.apk signeras och keystore demo.keystore.*/



Kontrollera om apk:n redan är signerad:

Vi kopierar den signerade "output.apk"-filen till telefonen och installerar den sedan, den kan installeras normalt och köras normalt, som visas i figuren nedan:







Föregående:Hur man helt avinstallerar flera versioner av Java
Nästa:Ingen komponentfabrik hittades för ListPage. Lade du till det i
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com