Implementarea pe telefoane mobile și utilizarea pluginurilor Cordova
Am dezvoltat o aplicație web simplă și acum vom face niște pregătiri înainte de a o implementa pe mobil. Ionic suportă două platforme: ios și android, proiectul implicit Ionic nu adaugă aceste două platforme, trebuie să-l adăugăm manual, cd în directorul de dezvoltare pentru a executa comanda:
Am nevoie doar de platforma Android aici, iar după ce o execut, voi executa comanda pentru a vedea lista platformelor pe care le-ai adăugat:
> Platforma Cordova LS
Ai fost exclus de telemetrie. Pentru a schimba asta, aleargă: telemetria cordova activată. Platforme instalate: Android 7.0.0 Platforme disponibile: browser ~5.0.1 iOS ~4.5.4 OSX ~4.0.1 Windows ~5.0.0 www ^3.12.0
Pachetul Android
(Dacă există o problemă cu această comandă, poți elimina -release și apoi depana compilarea, iar compilarea este finalizată, DOS va afișa locația directorului apk)
Dacă ochii tăi deștepți observă următoarele cuvinte: Construiește succesul! Înseamnă că ai ambalat cu succes. Fii răbdător, capătul liniei de comandă îți va indica unde este generat apk-ul.
Când rulez din nou comanda de ambalare, eroarea va fi următoarea: eroarea este că versiunea jdk este prea mare, eu sunt versiunea "jdk-10.0.1" și pot descărca din nou și instala o versiune "1.8.0_171" pentru a rezolva problema!!
C:\project\android\myApp>ionic cordova build android --release Rularea scripturilor de aplicații: --platformă android --target cordova [17:06:47] build dev a început ... [17:06:47] curățarea a început ... [17:06:47] curățenie terminată în 8 ms [17:06:47] Am început copierea ... [17:06:47] Deeplinks au început ... [17:06:47] Deeplinks s-a terminat în 15 ms [17:06:47] Transpile a început ... [17:06:50] Transpile a terminat în 3,71 s [17:06:50] Preprocesul a început ... [17:06:50] preprocesarea s-a terminat în 1 ms [17:06:50] webpack-ul a început ... [17:06:51] Copie finalizată în 3,96 s [17:06:56] Webpack-ul s-a încheiat în 5,58 s [17:06:56] a început obraznicul ... Fără opțiunea 'from', PostCSS ar putea genera harta sursă greșită și nu va găsi configurația Browserslist. Setează-l pe calea fișierului CSS sau pe 'nedefinit' pentru a preveni acest avertisment. [17:06:58] Sass a terminat în 2,05 s [17:06:58] post-proces a început ... [17:06:58] postprocesarea s-a încheiat în 10 ms [17:06:58] scame a început ... [17:06:58] build dev s-a terminat în 11.65 s > Cordova build Android --lansare
Ai fost exclus de telemetrie. Pentru a schimba asta, aleargă: telemetria cordova activată. Proiect Android Studio detectat
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (nod:14940) UnhandledPromiseRejectionWarning: Respingere a promisiunii negestionate (id respingere: 1): CordovaError: Verificarea cerințelor a eșuat pentru JDK 1.8 sau mai mult (nod:14940) [DEP0018] Depreciare Atenție: Respingerile de promisiuni nerezolvate sunt depășite. În viitor, respingerile promisiunii care nu sunt gestionate vor încheia procesul de Node.js cu un cod de ieșire diferit de zero.
[17:07:01] Lint a terminat în 3,00 s Execută din nou comanda de mai sus, pentru că viteza rețelei mele este lentă și este prima dată când execut, descarc multe componente etc., și o execut timp de 12 minute, așa cum se vede în figura de mai jos:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Copiez "app-release-unsigned.apk" pe telefonul meu (Huawei Honor 10), iar eroarea va fi următoarea:
Acest lucru se datorează faptului că aplicația nu este autentifică și nu se poate instala.
Semnătura apk
Deoarece directorul meu Java este în variabilele de mediu, trebuie doar să execut comanda cmd după cum urmează:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA folosește algoritmul RSA pentru a cripta semnăturile -validitate 40000 Valabilitate 4000 zile -keystore itsvse.keystore nume */ apksigner se află în directorul build-tools al directorului SDK. Trebuie menționat că metoda de semnare v2 a fost introdusă abia după Android 7.0, deci apksigner.jar poate fi găsită doar în SDK\build-tools\ pentru versiunea >25. Deschide cmd, taie directorul la SDK\build-tools\Număr de versiune\lib (de exemplu, C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) și execută:
Exemplu:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore keystore locația keystore -signedjar demor_signed.apk demo.apk demo.keystore semnat oficial, fișierul demo_signed generat după semnare în ordinea celor trei parametri, fișierul demo.apk semnat, iar keystore-ul demo.keystore.*/
Verifică dacă apk-ul este deja semnat:
Copiem fișierul semnat "output.apk" pe telefon, apoi îl instalăm, poate fi instalat normal și poate rula normal, așa cum se arată în figura de mai jos:
|