Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 12549|Vastaus: 0

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

[Kopioi linkki]
Julkaistu 20.6.2018 10.16.52 | | | |
Käyttöönotto matkapuhelimiin ja Cordovan lisäosien käyttö

Olemme kehittäneet yksinkertaisen verkkosovelluksen, ja nyt aiomme tehdä valmisteluja ennen sen käyttöönottoa mobiilikäyttöön.
Ionic tukee kahta alustaa: iOS:ää ja Androidia, oletusprojekti Ionic-projekti ei lisää näitä kahta alustaa, vaan meidän täytyy lisätä se manuaalisesti, cd:llä kehityskansioon komentoa varten:


Tarvitsen tässä vain Android-alustan, ja sen suorittamisen jälkeen suoritan komennon nähdäkseni listan lisäämistäsi alustoista:

> Cordovan alusta LS

Sinut on kielletty telemetriasta. Tämän muuttamiseksi käynnistä: cordova telemetria päällä.
Asennetut alustat:
  Android 7.0.0
Saatavilla olevat alustat:
  selain ~5.0.1
  iOS ~4.5.4
  osx ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Android-paketti


(Jos tässä komennossa on ongelma, voit poistaa -release -tiedoston ja debugata käännöksen, ja käännös on valmis, DOS näyttää apk-hakemiston sijainnin)

Jos älysilmäsi huomaavat seuraavat sanat: Rakenna menestystä! Se tarkoittaa, että olet onnistuneesti paketoitunut. Ole kärsivällinen, komentorivin loppu ilmoittaa, missä apk on luotu.

Kun suoritan pakkauskomennon uudelleen, virhe on seuraava: virhe on, että jdk-versio on liian korkea, olen "jdk-10.0.1" -versio, ja voin ladata ja asentaa "1.8.0_171" -version ongelman ratkaisemiseksi!!

C:\project\android\myApp>ionic cordova build android --release
Sovellusskriptien rakentaminen: --platform android --target cordova
[17:06:47] Build Developer alkoi ...
[17:06:47] puhdas aloitus ...
[17:06:47] puhdas suoritus 8 ms
[17:06:47] kopio alkoi ...
[17:06:47] syvälinkit alkoivat ...
[17:06:47] syvälinkit päättyivät 15 minuutissa
[17:06:47] Transpile alkoi ...
[17:06:50] Transpile valmistui ajassa 3,71 s
[17:06:50] esiprosessi alkoi ...
[17:06:50] esikäsittely valmis 1 ms
[17:06:50] Webpack käynnistyi ...
[17:06:51] kopio valmis ajassa 3,96 sekunti
[17:06:56] Webpack suoritti ajan 5,58 s
[17:06:56] Sass alkoi ...
Ilman 'from'-vaihtoehtoa PostCSS voi luoda väärän lähdekartan eikä löydä Browserslistin asetuksia. Aseta se CSS-tiedostopoluksi tai 'määrittelemättömäksi' estääksesi tämän varoituksen.
[17:06:58] SASS juoksi aikaan 2,05 s
[17:06:58] Jälkikäsittely alkoi ...
[17:06:58] jälkikäsittely valmistui 10 ms
[17:06:58] Nukka alkoi ...
[17:06:58] Build Developer valmistui ajassa 11.65 s
> Cordova rakentaa Androidin --julkaisu

Sinut on kielletty telemetriasta. Tämän muuttamiseksi käynnistä: cordova telemetria päällä.
Android Studio -projekti havaittu

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(solmu:14940) UnhandledPromiseRejectionWarning: Käsittelemätön lupauksen hylkäys (hylkäystunnus: 1): CordovaError: Vaatimusten tarkistus epäonnistui JDK 1.8 tai uudemmille
(solmu:14940) [DEP0018] VanhentuminenVaroitus: Käsittelemättömät lupauksen hylkäykset ovat vanhentuneita. Tulevaisuudessa käsittelemättömät lupauksen hylkäykset lopettavat Node.js-prosessin nollasta poikkeavalla poistumiskoodilla.

[17:07:01] Lint valmistui ajassa 3.00 s

Suorita yllä oleva komento uudelleen, koska verkkoni nopeus on hidas, ja tämä on ensimmäinen kerta suorittaa, ladata paljon komponentteja jne., ja suorittaa se 12 minuuttia, kuten alla olevassa kuvassa näkyy:



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

Kopioin "app-release-unsigned.apk" puhelimeeni (Huawei Honor 10), ja virhe tulee olemaan seuraava:



Tämä johtuu siitä, ettei sovellusta ole allekirjoitettu eikä sitä voi asentaa.

APK-allekirjoitus

Koska Java-hakemistoni on ympäristömuuttujissa, minun tarvitsee suorittaa cmd-komento seuraavasti:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA käyttää RSA-algoritmia allekirjoitusten salaamiseen
       - voimassaolo 40000 Voimassaolo 4000 päivää
       -keystore itsvse.keystore tiedostonimi */

apksigner sijaitsee SDK-hakemiston build-tools-hakemistossa. On huomattava, että v2-allekirjoitusmenetelmä otettiin käyttöön vasta Android 7.0:n jälkeen, joten apksigner.jar löytyy vain SDK\build-tools\:sta versiolle >25.
Avaa cmd, leikkaa hakemisto muotoon SDK\build-tools\Version number\lib (esimerkiksi C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) ja suorita:


Esimerkki:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore sijainti
       -signedjar demor_signed.apk demo.apk demo.keystore virallisesti allekirjoitettu, tiedosto demo_signed luotu allekirjoituksen jälkeen järjestyksessä kolmessa parametrissa, tiedosto demo.apk allekirjoitettavaksi ja keystore demo.keystore.*/



Tarkista, onko apk jo allekirjoitettu:

Kopioimme allekirjoitetun "output.apk"-tiedoston puhelimeen ja asennamme sen, se voidaan asentaa normaalisti ja toimia normaalisti, kuten alla olevassa kuvassa näkyy:







Edellinen:Kuinka poistaa kokonaan useita Java-versioita
Seuraava:ListPagelle ei löytynyt komponenttitehdasta. Lisäsitkö sen
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com