Namestitev na mobilne telefone in uporaba cordova vtičnikov
Razvili smo preprosto spletno aplikacijo in zdaj bomo naredili nekaj priprav, preden jo namestimo na mobilne naprave. Ionic podpira dve platformi: ios in android, privzeti Ionic projekt ne doda teh dveh platform, moramo ga dodati ročno, cd v razvojno mapo za izvedbo ukaza:
Tukaj potrebujem samo Android platformo, in po zagonu bom izvedel ukaz za ogled seznama platform, ki ste jih dodali:
> peron Cordova LS
Izključeni ste iz telemetrije. Da to spremenite, zapeljite: cordova telemetrija vklopljena. Nameščene platforme: Android 7.0.0 Razpoložljive platforme: brskalnik ~5.0.1 iOS ~4.5.4 OSX ~4.0.1 Windows ~5.0.0 www ^3.12.0
Android paket
(Če je s tem ukazom težava, lahko odstranite -release in nato debug compilation, in prevajanje je zaključeno, DOS bo prikazal lokacijo apk mape)
Če vaše pametne oči opazijo naslednje besede: Gradite uspeh! Pomeni, da ste uspešno zapakirali. Bodite potrpežljivi, na koncu ukazne vrstice vas bo opozorilo, kje je APK generiran.
Ko ponovno izvedem ukaz za pakiranje, bo napaka naslednja: napaka je, da je različica jdk previsoka, jaz sem različica "jdk-10.0.1" in lahko ponovno prenesem ter namestim različico "1.8.0_171", da rešim težavo!!
C:\project\android\myApp>ionic cordova build android --release Zagon app-scriptov build: --platform android --target cordova [17:06:47] razvoj gradnje se je začel ... [17:06:47] čisto začeto ... [17:06:47] čisto končano v 8 ms [17:06:47] Kopiranje se je začelo ... [17:06:47] Deeplinks se je začel ... [17:06:47] Deeplinks je končal v 15 ms [17:06:47] transpile se je začel ... [17:06:50] Transpile je končal v 3,71 s [17:06:50] predproces se je začel ... [17:06:50] predpostopek je končan v 1 ms [17:06:50] Webpack se je začel ... [17:06:51] kopija končana v 3,96 s [17:06:56] Webpack je končal v 5,58 s [17:06:56] drznost se je začela ... Brez možnosti 'from' lahko PostCSS ustvari napačen izvorni zemljevid in ne najde konfiguracije Browserslist. Nastavite na CSS pot datoteke ali na 'nedefinirano', da preprečite to opozorilo. [17:06:58] SASS je končal v 2,05 s [17:06:58] začelo se je postprocess ... [17:06:58] postproces je končan v 10 ms [17:06:58] Lint se je začel ... [17:06:58] gradbeni razvoj je končal v 11,65 s > Cordova razgradi Android -- izdaja
Izključeni ste iz telemetrije. Da to spremenite, zapeljite: cordova telemetrija vklopljena. Projekt Android Studio zaznan
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (vozlišče:14940) NeobdelanoObljuboZavrnitevOpozorilo: Neobdelana zavrnitev obljube (ID zavrnitve: 1): CordovaNapaka: Preverjanje zahtev za JDK 1.8 ali višje ni uspelo (vozlišče:14940) [DEP0018] UkinitevOpozorilo: Neurejene zavrnitve obljub so zastarele. V prihodnosti bodo zavrnitve obljub, ki niso obravnavane, končale Node.js postopek z neničelno izhodno kodo.
[17:07:01] Lint je končal v 3,00 s Zgornji ukaz naj izvedem znova, ker je hitrost mojega omrežja počasna, in je prvič, da izvajam, prenašam veliko komponent itd. ter ga izvajam 12 minut, kot je prikazano na spodnji sliki:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Kopiram "app-release-unsigned.apk" na svoj telefon (Huawei Honor 10) in napaka bo naslednja:
To je zato, ker aplikacija ni bila podpisana in se ni mogla namestiti.
APK podpis
Ker je moja Java mapa v okoljskih spremenljivkah, moram izvesti le ukaz cmd na naslednji način:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA uporablja algoritem RSA za šifriranje podpisov -veljavnost 40000 Veljavnost 4000 dni -keystore itsvse.keystore datoteka */ apksigner se nahaja v mapi build-tools v SDK mapi. Treba je poudariti, da je bila metoda podpisovanja v2 uvedena šele po Androidu 7.0, zato apksigner.jar najdemo le v SDK\build-tools\ za različico >25. Odpri cmd, razreži mapo na SDK\build-tools\Version number\lib (na primer C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) in zaženi:
Primer:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore keystore lokacija keystore -signedjar demor_signed.apk demo.apk demo.keystore uradno podpisan, datoteka demo_signed generirana po podpisu v treh parametrih, datoteka demo.apk podpisati in keystore demo.keystore.*/
Preverite, ali je apk že podpisan:
Kopiramo podpisano datoteko "output.apk" na telefon in jo nato namestimo, lahko jo namestimo normalno in deluje normalno, kot je prikazano na spodnji sliki:
|