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:
|