Diegimas mobiliuosiuose telefonuose ir cordova įskiepių naudojimas
Sukūrėme paprastą žiniatinklio programą ir dabar atliksime tam tikrus pasiruošimus prieš diegdami ją mobiliuosiuose įrenginiuose. "Ionic" palaiko dvi platformas: "iOS" ir "Android", numatytasis "Ionic" projektas neprideda šių dviejų platformų, turime jį pridėti rankiniu būdu, cd į kūrimo katalogą, kad įvykdytume komandą:
Čia man reikia tik "Android" platformos, o ją įvykdęs vykdysiu komandą, kad peržiūrėčiau jūsų pridėtų platformų sąrašą:
> Cordova platforma LS
Jums buvo atsisakyta telemetrijos. Norėdami tai pakeisti, paleiskite: cordova telemetrija įjungta. Įdiegtos platformos: Android 7.0.0 Galimos platformos: naršyklė ~5.0.1 iOS ~4.5.4 OSX ~4.0.1 langai ~5.0.0 www ^3.12.0
Android paketas
(Jei kyla problemų dėl šios komandos, galite pašalinti -release ir tada derinti kompiliavimą, o kompiliacija bus baigta, DOS parodys apk katalogo vietą)
Jei jūsų protingos akys pastebi šiuos žodžius: Sukurkite sėkmę! Tai reiškia, kad sėkmingai supakavote. Būkite kantrūs, komandinės eilutės pabaigoje bus nurodyta, kur sugeneruotas apk.
Kai dar kartą vykdysiu pakavimo komandą, klaida bus tokia, klaida ta, kad jdk versija yra per aukšta, aš esu "jdk-10.0.1" versija ir galiu iš naujo atsisiųsti ir įdiegti "1.8.0_171" versiją, kad išspręsčiau problemą!!
C:\project\android\myApp>ionic cordova build android --release Vykdomi programų scenarijai: --platforma android --target cordova [17:06:47] Kūrimo kūrėjas pradėtas ... [17:06:47] švarus pradėjo ... [17:06:47] švarus finišas per 8 ms [17:06:47] Kopijavimas prasidėjo ... [17:06:47] prasidėjo giliosios nuorodos ... [17:06:47] giliosios nuorodos baigėsi per 15 ms [17:06:47] Transpile pradėjo ... [17:06:50] Transpile finišavo per 3.71 s [17:06:50] prasidėjo išankstinis procesas... [17:06:50] Išankstinis procesas baigtas per 1 ms [17:06:50] Webpack pradėjo ... [17:06:51] kopija baigta per 3,96 s [17:06:56] Webpack finišavo per 5.58 s [17:06:56] Sass pradėjo ... Be parinkties "nuo" PostCSS gali sugeneruoti neteisingą šaltinio žemėlapį ir neras Browserslist konfigūracijos. Nustatykite jį į CSS failo kelią arba į "neapibrėžtą", kad išvengtumėte šio įspėjimo. [17:06:58] Sass finišavo per 2.05 s [17:06:58] prasidėjo postprocesas ... [17:06:58] Apdorojimas baigtas per 10 ms [17:06:58] Lint pradėjo ... [17:06:58] Kūrimo kūrėjas baigė per 11.65 s > Cordova sukurti Android --release
Jums buvo atsisakyta telemetrijos. Norėdami tai pakeisti, paleiskite: cordova telemetrija įjungta. Aptiktas "Android Studio" projektas
ANDROID_HOME=C:\Vartotojai\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Programų failai\Java\jdk-10.0.1 (mazgas:14940) UnhandledPromiseRejectionWarning: Neapdorotas pažado atmetimas (atmetimo ID: 1): CordovaError: JDK 1.8 ar naujesnės versijos reikalavimų patikrinimas nepavyko (mazgas:14940) [DEP0018] DeprecationWarning: neapdoroti pažadų atmetimai yra nebenaudojami. Ateityje neapdoroti pažadų atmetimai užbaigs Node.js procesą su ne nuliniu išėjimo kodu.
[17:07:01] Lint finišavo per 3.00 s Dar kartą vykdykite aukščiau pateiktą komandą, nes mano tinklo greitis yra lėtas ir tai pirmas kartas, kai vykdoma, atsisiųskite daug komponentų ir pan. ir vykdykite ją 12 minučių, kaip parodyta paveikslėlyje žemiau:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Nukopijuoju "app-release-unsigned.apk" į savo telefoną ("Huawei Honor 10"), o klaida bus tokia:
Taip yra dėl to, kad programa nepasirašyta ir jos negalima įdiegti.
APK parašas
Kadangi mano "Java" katalogas yra aplinkos kintamuosiuose, man tereikia vykdyti komandą cmd taip:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA naudoja RSA algoritmą parašams šifruoti -galiojimo laikas 40000 Galiojimas 4000 dienų -keystore itsvse.keystore failo pavadinimas */ apksigner yra SDK katalogo kūrimo įrankių kataloge. Reikia pažymėti, kad v2 pasirašymo metodas buvo pristatytas tik po "Android 7.0", todėl apksigner.jar galima rasti tik >25 versijos SDK\build-tools\. Atidarykite cmd, iškirpkite katalogą į SDK\build-tools\Version number\lib (pvz., C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) ir vykdykite:
Pavyzdys:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore raktų saugyklos vieta -signedjar demor_signed.apk demo.apk demo.keystore oficialiai pasirašytas, failas demo_signed sugeneruotas po pasirašymo eilės tvarka trimis parametrais, failo demo.apk pasirašyti, ir keystore demo.keystore.*/
Patikrinkite, ar apk jau pasirašytas:
Mes nukopijuojame pasirašytą "output.apk" failą į telefoną ir tada jį įdiegiame, jį galima įdiegti įprastai ir jis gali veikti normaliai, kaip parodyta paveikslėlyje žemiau:
|