Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 12549|Odpověď: 0

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

[Kopírovat odkaz]
Zveřejněno 20.06.2018 10:16:52 | | | |
Nasazení do mobilních telefonů a použití cordova pluginů

Vyvinuli jsme jednoduchou webovou aplikaci a nyní se chystáme na její nasazení na mobil.
Ionic podporuje dvě platformy: ios a android, výchozí projekt Ionic tyto dvě platformy nepřidává, musíme ho přidat ručně, cd do vývojového adresáře pro spuštění příkazu:


Potřebuji zde pouze Android platformu a po jejím spuštění provedu příkaz pro zobrazení seznamu platforem, které jste přidali:

> Cordova platforma LS

Byl jste vyloučen z telemetrie. Pro změnu běžte: cordova telemetrie zapnutá.
Instalované platformy:
  Android 7.0.0
Dostupné platformy:
  prohlížeč ~5.0.1
  iOS ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Balíček pro Android


(Pokud je s tímto příkazem problém, můžete odstranit -release a poté debugovat kompilaci, a kompilace je dokončena, DOS zobrazí umístění adresáře apk)

Pokud vaše chytré oko zaznamená následující slova: Budujte úspěch! Znamená to, že jste úspěšně zabalili. Buďte trpěliví, na konci příkazového řádku vás vyzve, kde se apk generuje.

Když znovu spustím příkaz balení, chyba bude následující: chyba je, že verze jdk je příliš vysoká, mám verzi "jdk-10.0.1" a mohu si znovu stáhnout a nainstalovat verzi "1.8.0_171", abych problém vyřešil!!

C:\project\android\myApp>ionic cordova build android --release
Spuštění app-scriptů build: --platform android --target cordova
[17:06:47] vývoj začal ...
[17:06:47] čistě začal ...
[17:06:47] čistý závod za 8 ms
[17:06:47] Kopie začala ...
[17:06:47] Deeplinks začal ...
[17:06:47] Deeplinks skončil za 15 ms
[17:06:47] zahájen překlad ...
[17:06:50] Transpile dokončil za 3,71 s
[17:06:50] zahájen předproces...
[17:06:50] předzpracování dokončeno za 1 ms
[17:06:50] webpack začal ...
[17:06:51] kopie dokončena za 3,96 s
[17:06:56] Webpack dokončil za 5,58 s
[17:06:56] začala drzost ...
Bez možnosti 'from' může PostCSS vygenerovat špatnou zdrojovou mapu a nenajde konfiguraci Browserslist. Nastavte cestu k souboru CSS nebo na 'nedefinované', abyste tomuto varování zabránili.
[17:06:58] Sass doběhl za 2,05 s
[17:06:58] začal postproces ...
[17:06:58] postproces dokončen za 10 ms.
[17:06:58] Začal chlup ...
[17:06:58] vývoj dokončil za 11,65 s
> Cordova build Android -- vydání

Byl jste vyloučen z telemetrie. Pro změnu běžte: cordova telemetrie zapnutá.
Projekt Android Studio byl zjištěn

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(node:14940) UnhandledPromiseRejectionWarning: Neřešené zamítnutí slibu (rejection id: 1): CordovaError: Kontrola požadavků pro JDK 1.8 nebo vyšší neprošla
(node:14940) [DEP0018] Upozornění na zastarání: Nesplněné zamítnutí slibů jsou zastaralé. V budoucnu zamítnutí slibu, která nejsou vyřízena, ukončí proces Node.js s nenulovým výstupním kódem.

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

Provedi výše uvedený příkaz znovu, protože rychlost mé sítě je pomalá, a je to poprvé, co stahuji, stahuji spoustu komponent atd., a spravím to po dobu 12 minut, jak je znázorněno na obrázku níže:



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

Zkopíruji "app-release-unsigned.apk" do telefonu (Huawei Honor 10) a chyba bude následující:



Je to kvůli tomu, že aplikace není podepsaná a nelze ji nainstalovat.

APK podpis

Protože můj adresář Java je v proměnných prostředí, stačí spustit příkaz cmd následovně:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA používá algoritmus RSA k šifrování podpisů
       -platnost 40000 Platnost 4000 dní
       -keystore itsvse.keystore soubor */

apksigner se nachází v adresáři build-tools adresáře SDK. Je třeba poznamenat, že metoda podepisování v2 byla zavedena až po Androidu 7.0, takže apksigner.jar lze najít pouze v SDK\build-tools\ pro verzi >25.
Otevřete cmd, rozřízněte adresář na SDK\build-tools\Version number\lib (například C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) a spustíte:


Příklad:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore umístění
       -signedjar demor_signed.apk demo.apk demo.keystore oficiálně podepsán, soubor demo_signed generován po podepsání v pořadí ve třech parametrech, soubor demo.apk podepsat a keystore demo.keystore.*/



Zkontrolujte, jestli je apk již podepsaná:

Zkopírujeme podepsaný soubor "output.apk" do telefonu, poté ho nainstalujeme, lze jej normálně nainstalovat a běžet normálně, jak je znázorněno na obrázku níže:







Předchozí:Jak úplně odinstalovat více verzí Javy
Další:Nebyla nalezena žádná továrna na komponenty pro ListPage. Přidal jsi to k
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com