Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12549|Risposta: 0

[ionico] Pratica di App Android per lo sviluppo Ionic (2): apk di confezionamento Android

[Copiato link]
Pubblicato su 20/06/2018 10:16:52 | | | |
Distribuzione su telefoni cellulari e utilizzo di plugin cordova

Abbiamo sviluppato una semplice applicazione web e ora faremo alcune preparazioni prima di distribuirla su mobile.
Ionic supporta due piattaforme: ios e android, il progetto Ionic predefinito non aggiunge queste due piattaforme, dobbiamo aggiungerlo manualmente e inserirlo nella directory di sviluppo per eseguire il comando:


Qui mi serve solo la piattaforma Android e, dopo averla eseguita, eseguirò il comando per visualizzare l'elenco delle piattaforme che hai aggiunto:

> banchina Cordova LS

Sei stato escluso dalla telemetria. Per cambiare questo, esegui: telemetria cordova attiva.
Piattaforme installate:
  Android 7.0.0
Piattaforme disponibili:
  browser ~5.0.1
  iOS ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Pacchetto Android


(Se c'è un problema con questo comando, puoi rimuovere -release e poi debug compilation, e la compilation è completata, DOS mostrerà la posizione della directory apk)

Se i tuoi occhi intelligenti individuano le seguenti parole: Costruisci il successo! Significa che hai confezionato con successo. Abbi pazienza, la fine della riga di comando ti indicherà dove viene generato l'apk.

Quando eeguo di nuovo il comando di packaging, l'errore sarà il seguente: l'errore è che la versione jdk è troppo alta, io sono la versione "jdk-10.0.1" e posso ricaricare e installare una versione "1.8.0_171" per risolvere il problema!!

C:\project\android\myApp>ionic cordova build android --release
Esecuzione di app-script build: --platform android --target cordova
[17:06:47] sviluppo build iniziato ...
[17:06:47] Pulito iniziato ...
[17:06:47] pulito finito in 8 ms
[17:06:47] Ricevuta iniziata ...
[17:06:47] i deeplink iniziarono ...
[17:06:47] Deeplinks completati in 15 ms
[17:06:47] traspile iniziato ...
[17:06:50] Transpile ha concluso in 3,71 s
[17:06:50] Il pre-processo è iniziato ...
[17:06:50] preprocesso completato in 1 ms
[17:06:50] Webpack iniziato ...
[17:06:51] Copia terminata in 3,96 s
[17:06:56] Webpack ha concluso in 5,58 s
[17:06:56] Sass iniziò ...
Senza l'opzione 'from', PostCSS potrebbe generare una mappa sorgente errata e non troverà la configurazione di Browserslist. Impostalo su percorso file CSS o su 'indefinito' per evitare questo avviso.
[17:06:58] Sass ha concluso in 2,05 s
[17:06:58] il post-processo è iniziato ...
[17:06:58] post-processo completato in 10 ms
[17:06:58] Il pelucchio ha iniziato ...
[17:06:58] sviluppo build terminato in 11.65 s
> Cordova build Android --release

Sei stato escluso dalla telemetria. Per cambiare questo, esegui: telemetria cordova attiva.
Progetto Android Studio rilevato

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(nodo:14940) UnhandledPromiseRejectionWarning: Rifiuto della promessa non trattato (id rifiuto: 1): CordovaErrore: Controllo dei requisiti fallito per JDK 1.8 o superiore
(nodo:14940) [DEP0018] DeprecationAttenzione: I rifiuti delle promesse non gestite sono obsoleti. In futuro, i rifiuti delle promesse non gestite termineranno il processo di Node.js con un codice di uscita diverso da zero.

[17:07:01] Lint ha finito in 3,00 s

Esegui di nuovo il comando sopra, perché la velocità della mia rete è lenta, ed è la prima volta che esegui, scarica molti componenti, ecc., ed esegui per 12 minuti, come mostrato nella figura qui sotto:



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

Copio "app-release-unsigned.apk" sul mio telefono (Huawei Honor 10) e l'errore sarà il seguente:



Questo perché l'app non è connessa e non riesce a installarsi.

Firma APK

Poiché la mia directory Java è nelle variabili dell'ambiente, devo solo eseguire il comando cmd come segue:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA utilizza l'algoritmo RSA per cifrare le firme
       -validità 40000 Validità 4000 giorni
       -keystore itsvse.keystore nome file */

apksigner si trova nella directory build-tools della directory SDK. Va notato che il metodo di firma v2 è stato introdotto solo dopo Android 7.0, quindi apksigner.jar si trova solo nell'SDK\build-tools\ per la versione >25.
Apri cmd, taglia la directory a SDK\build-tools\Numero versione\lib (ad esempio, C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) ed esegui:


Esempio:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore posizione keystore
       -signedjar demor_signed.apk demo.apk demo.keystore firmati ufficialmente, il file demo_signed generato dopo la firma in ordine nei tre parametri, il file demo.apk da firmare e il keystore demo.keystore.*/



Controlla se l'apk è già firmato:

Copiamo il file firmato "output.apk" sul telefono, poi lo installiamo; può essere installato normalmente e può funzionare normalmente, come mostrato nella figura qui sotto:







Precedente:Come disinstallare completamente più versioni di Java
Prossimo:Nessuna fabbrica di componenti trovata per ListPage. L'hai aggiunto a
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com