Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 12549|Odpoveď: 0

[iónsky] Ionic Development Android App Practice (2): Android Packaging apk

[Kopírovať odkaz]
Zverejnené 20. 6. 2018 10:16:52 | | | |
Nasadenie na mobilné telefóny a používanie cordova pluginov

Vyvinuli sme jednoduchú webovú aplikáciu a teraz sa chystáme urobiť určité prípravy pred jej nasadením na mobil.
Ionic podporuje dve platformy: ios a android, predvolený projekt Ionic tieto dve platformy nepridáva, musíme ho pridať manuálne, cd do vývojového adresára na vykonanie príkazu:


Potrebujem tu len Android platformu a po jej spustení vykonám príkaz na zobrazenie zoznamu platforiem, ktoré ste pridali:

> nástupište Cordova LS

Bol si vylúčený z telemetrie. Aby ste to zmenili, spustite telemetriu: cordova telemetria zapnutá.
Nainštalované nástupištia:
  Android 7.0.0
Dostupné platformy:
  prehliadač ~5.0.1
  iOS ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Balík pre Android


(Ak je s týmto príkazom problém, môžete odstrániť -release a potom debugovať kompiláciu, kompilácia je dokončená, DOS zobrazí polohu adresára apk)

Ak vaše bystré oči zaznamenajú tieto slová: Budujte úspech! Znamená to, že ste úspešne zabalili. Buďte trpezliví, na konci príkazového riadku vás vyzve, kde sa apk generuje.

Keď znova spustím príkaz na balenie, chyba bude nasledovná: chyba je, že verzia jdk je príliš vysoká, mám verziu "jdk-10.0.1" a môžem si znova stiahnuť a nainštalovať verziu "1.8.0_171", aby som problém vyriešil!!

C:\project\android\myApp>ionic cordova build android --release
Spúšťanie app-scriptov build: --platform android --target cordova
[17:06:47] vývoj začal ...
[17:06:47] čistý štart ...
[17:06:47] čistý cieľ za 8 ms
[17:06:47] Kópia začatá ...
[17:06:47] Deeplinks začal ...
[17:06:47] deeplinks skončil za 15 ms
[17:06:47] transpile začal ...
[17:06:50] Transpile dokončil za 3,71 s
[17:06:50] predproces začal ...
[17:06:50] predspracovanie dokončené za 1 ms
[17:06:50] webpack začal ...
[17:06:51] kópia dokončená za 3,96 s
[17:06:56] Webpack skončil za 5,58 s
[17:06:56] začala drzosť ...
Bez možnosti 'from' môže PostCSS vygenerovať nesprávnu zdrojovú mapu a nenájde konfiguráciu Browserslist. Nastavte ho na cestu k súboru CSS alebo na 'nedefinované', aby ste tomuto varovaniu zabránili.
[17:06:58] Sass skončil za 2,05 s
[17:06:58] Postprocess začal ...
[17:06:58] postproces dokončený za 10 ms
[17:06:58] Začal sa chĺpky ...
[17:06:58] vývojár dokončil za 11,65 s
> Cordova build Android -- vydanie

Bol si vylúčený z telemetrie. Aby ste to zmenili, spustite telemetriu: cordova telemetria zapnutá.
Projekt Android Studio zistený

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(node:14940) UnhandledPromiseRejectionWarning: Nespracované zamietnutie sľubu (remiction id: 1): CordovaError: Kontrola požiadaviek pre JDK 1.8 alebo vyššie zlyhala
(node:14940) [DEP0018] ZrušenieUpozornenie: Nevybavené zamietnuté sľuby sú zastarané. V budúcnosti odmietnutia sľubov, ktoré nie sú spracované, ukončia Node.js proces s nenulovým výstupným kódom.

[17:07:01] Lint skončil za 3,00 s

Spustite vyššie uvedený príkaz znova, pretože rýchlosť mojej siete je pomalá a je to prvýkrát, čo spúšťam, stiahnem veľa komponentov a podobne, a vykonávam to 12 minút, ako je znázornené na obrázku nižšie:



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

Skopírujem "app-release-unsigned.apk" do svojho telefónu (Huawei Honor 10) a chyba bude nasledovná:



Je to spôsobené tým, že aplikácia nie je podpísaná a nedá sa nainštalovať.

APK podpis

Keďže môj adresár Java je v environmentálnych premenných, stačí vykonať príkaz cmd nasledovne:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA používa algoritmus RSA na šifrovanie podpisov
       -platnosť 40000 Platnosť 4000 dní
       -keystore itsvse.keystore súborový názov */

apksigner sa nachádza v adresári build-tools v adresári SDK. Treba poznamenať, že spôsob podpisovania v2 bol predstavený až po Androide 7.0, takže apksigner.jar možno nájsť iba v SDK\build-tools\ pre verziu >25.
Otvorte cmd, rozrežte adresár na SDK\build-tools\Číslo verzie\lib (napríklad C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) a spustite:


Príklad:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore umiestnenie
       -signedjar demor_signed.apk demo.apk demo.keystore oficiálne podpísaný, súbor demo_signed vygenerovaný po podpísaní v poradí v troch parametroch, súbor demo.apk podpísať a keystore demo.keystore.*/



Skontrolujte, či je apk už podpísaná:

Skopírovame podpísaný súbor "output.apk" do telefónu a potom ho nainštalujeme, dá sa nainštalovať normálne a beží normálne, ako je znázornené na obrázku nižšie:







Predchádzajúci:Ako úplne odinštalovať viacero verzií Javy
Budúci:Pre ListPage nebola nájdená žiadna továreň komponentov. Pridal si to k
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com