Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 12549|Відповідь: 0

[іонічний] Практика розробки Android-додатків Ionic (2): Apk для Пакування Android

[Копіювати посилання]
Опубліковано 20.06.2018 10:16:52 | | | |
Розгортання на мобільних телефонах і використання плагінів Cordova

Ми розробили простий веб-додаток і тепер проведемо деякі приготування перед розгортанням на мобільних платформах.
Ionic підтримує дві платформи: iOS та Android, стандартний проєкт Ionic не додає ці дві платформи, потрібно додати їх вручну, CD у каталог розробки для виконання команди:


Мені потрібна лише платформа Android, і після її виконання я виконаю команду, щоб переглянути список платформ, які ви додали:

> платформа Cordova 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] Почав розробку збірки ...
[17:06:47] Чистий початок ...
[17:06:47] Чистий фініш за 8 мс
[17:06:47] Копія запущена ...
[17:06:47] Почалися глибокі посилання...
[17:06:47] Deeplinks завершилися за 15 мс
[17:06:47] Транспайл почався ...
[17:06:50] Транспайл фінішував за 3,71 с
[17:06:50] Почалася передобробка ...
[17:06:50] Попередня обробка завершена за 1 мс
[17:06:50] Вебпак почався ...
[17:06:51] копія завершилася за 3,96 с
[17:06:56] Webpack фінішував за 5,58 с
[17:06:56] Сас почав ...
Без опції 'from' PostCSS може генерувати неправильну карту джерела і не знайде конфігурацію Browserslist. Встановіть його на шлях до файлу CSS або на 'undefined', щоб уникнути цього попередження.
[17:06:58] Сасс фінішував за 2.05 с
[17:06:58] Почалася постобробка ...
[17:06:58] Післяобробка завершена за 10 мс
[17:06:58] Почався ворс ...
[17:06:58] Build Dev завершив за 11.65 с
> Cordova Build Android — реліз

Вас виключили з телеметрії. Щоб це змінити, запусти: телеметрія cordova увімкнено.
Виявлено проєкт Android Studio

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(вузол:14940) UnhandledPromiseRejectionWarning: Необроблена відхилення обіцянки (ідентифікатор відмови: 1): CordovaError: Перевірка вимог не була виконана для 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 Key Store Location
       -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