Внедряване на мобилни телефони и използване на Cordova плъгини
Разработихме просто уеб приложение и сега ще направим някои приготовления преди да го пуснем на мобилни устройства. Ionic поддържа две платформи: ios и android, като стандартният проект на Ionic не добавя тези две платформи, трябва да ги добавим ръчно, CD в директорията за разработка, за да изпълним командата:
Тук ми трябва само Android платформата, и след като я изпълня, ще изпълня командата, за да видя списъка с добавени платформи:
> Кордова платформа LS
Вие сте изключени от телеметрията. За да промените това, стартирайте: телеметрия на Cordova включена. Инсталирани платформи: Android 7.0.0 Налични платформи: Браузър ~5.0.1 iOS ~4.5.4 osx ~4.0.1 Windows ~5.0.0 www ^3.12.0
Android пакет
(Ако има проблем с тази команда, можете да премахнете -release и след това debug компилацията и компилацията е завършена, DOS ще покаже местоположението на apk директорията)
Ако умните ви очи забележат следните думи: Изграждайте успех! Означава, че сте успешно опаковали. Бъдете търпеливи, краят на командния ред ще ви подскаже къде е генериран apk-то.
Когато изпълня отново командата за опаковане, грешката ще бъде следната: грешката е, че версията на jdk е твърде висока, аз съм версията "jdk-10.0.1" и мога да изтегля и инсталирам версия "1.8.0_171", за да реша проблема!!
C:\project\android\myApp>ionic cordova build android --release Стартиране на app-scripts build: --platform android --target cordova [17:06:47] Build dev започна ... [17:06:47] Чисто започна ... [17:06:47] Чисто завърши за 8 ms [17:06:47] Копия започна ... [17:06:47] Започнаха дийплинкове ... [17:06:47] Дийплинковете завършиха за 15 ms [17:06:47] Транспилът започна ... [17:06:50] Транспайл завърши за 3.71 с [17:06:50] Започна предварителна обработка ... [17:06:50] Предварителната обработка приключи за 1 мс [17:06:50] Webpack започна ... [17:06:51] Копието е завършено за 3.96 секунди [17:06:56] Webpack завърши за 5.58 секунди [17:06:56] Сас започна ... Без опция 'от' PostCSS може да генерира грешна изходна карта и няма да намери конфигурацията на Browserslist. Задайте го на CSS file path или на 'undefined', за да предотвратите това предупреждение. [17:06:58] Сас завърши за 2.05 секунди [17:06:58] Започна постпроцесът ... [17:06:58] Постобработката приключи за 10 ms [17:06:58] Започна влакно ... [17:06:58] Build dev завърши за 11.65 с > Cordova Build Android --Release
Вие сте изключени от телеметрията. За да промените това, стартирайте: телеметрия на Cordova включена. Открит проект Android Studio
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (възел:14940) UnhandledPromiseRejectionПредупреждение: Необработено отхвърляне на обещание (ID на отхвърляне: 1): CordovaГрешка: Проверката на изискванията е провалена за JDK 1.8 или по-висока (възел:14940) [DEP0018] Предупреждение за пренебрегване: Необработените откази на обещания се пренебрегват. В бъдеще отказите на обещания, които не бъдат обработени, ще прекратят процеса на Node.js с ненулев изходен код.
[17:07:01] Линт завърши за 3.00 секунди Изпълнете горната команда отново, защото скоростта на мрежата ми е бавна, и това е първият път, когато се изпълнява, изтегля много компоненти и т.н., и я изпълнявам за 12 минути, както е показано на фигурата по-долу:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Копирам "app-release-unsigned.apk" на телефона си (Huawei Honor 10) и грешката ще бъде следната:
Това се дължи на факта, че приложението не е подписано и не може да се инсталира.
APK подпис
Тъй като моята Java директория е в променливите на средата, трябва само да изпълня командата cmd по следния начин:
/*说明:-genkey 产生密钥 -alias demo.keystore, alias demo.keystore -keyalg RSA използва алгоритъма RSA за криптиране на сигнатури -валидност 40000 Валидност 4000 дни -keystore itsvse.keystore файл */ apksigner се намира в директорията за build-tools на SDK директорията. Трябва да се отбележи, че методът за подписване във v2 е въведен едва след Android 7.0, така че apksigner.jar може да се намери само в SDK\build-tools\ за версия >25. Отвори cmd, изрежи директорията на SDK\build-tools\Version number\lib (например C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) и изпълни:
Пример:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore локация на ключовия магазин -signedjar demor_signed.apk demo.apk demo.keystore официално подписан, файлът demo_signed генериран след подписване в трите параметъра, файлът demo.apk да бъде подписан, както и keystore demo.keystore.*/
Провери дали apk вече е подписан:
Копираме подписания "output.apk" файл на телефона и го инсталираме, може да се инсталира нормално и да работи нормално, както е показано на фигурата по-долу:
|