Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 12549|Отговор: 0

[йонски] Ionic Development Android App Practice (2): Android Packaging apk

[Копирай линк]
Публикувано в 20.06.2018 г. 10:16:52 ч. | | | |
Внедряване на мобилни телефони и използване на 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" файл на телефона и го инсталираме, може да се инсталира нормално и да работи нормално, както е показано на фигурата по-долу:







Предишен:Как да деинсталирам напълно няколко версии на Java
Следващ:Не е намерена фабрика за компоненти за ListPage. Добави ли го към
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com