Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 12549|Válasz: 0

[ionikus] Ionic Development Android App Practice (2): Android Packaging apk

[Linket másol]
Közzétéve 2018. 06. 20. 10:16:52 | | | |
Mobiltelefonokra való telepítés és cordova pluginek használata

Fejlesztettünk egy egyszerű webalkalmazást, és most néhány előkészületet fogunk végezni, mielőtt mobilra telepítjük.
Az Ionic két platformot támogat: iOS-t és Androidot, az alapértelmezett Ionic projekt nem adja hozzá ezeket a két platformot, manuálisan kell hozzáadnunk a fejlesztő könyvtárba, hogy végrehajtsuk a parancsot:


Itt csak az Android platformra van szükségem, és miután végrehajtottam, végrehajtom a parancsot, hogy megtekintsem a hozzáadott platformok listáját:

> cordova platform ls

Kizártak a telemetriából. Ennek megváltoztatására futtasd: cordova telemetria bekapcsolva.
Telepített platformok:
  Android 7.0.0
Elérhető platformok:
  böngésző ~5.0.1
  iOS ~4.5.4
  osx ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Android csomag


(Ha ezzel a parancsgal probléma van, eltávolíthatod a -release gombot, majd debugálhatod a fordítást, és a fordítás befejeződik, a DOS megjeleníti az apk könyvtár helyét.)

Ha okos szemed a következő szavakat veszi észre: Építs sikert! Ez azt jelenti, hogy sikeresen csomagoltál. Légy türelmes, a parancssor végén megmutatja, hol generálódik az apk.

Amikor újra elindítom a csomagolási parancsot, a hiba a következő lesz: a hiba az, hogy a jdk verzió túl magas, én vagyok a "jdk-10.0.1" verzió, és újra le tudom tölteni és telepíteni az "1.8.0_171" verziót, hogy megoldjam a problémát!!

C:\project\android\myApp>ionic cordova build android --release
App-scripts futtatása: --platform android --target cordova
[17:06:47] Építési fejlesztő indult ...
[17:06:47] Tiszta kezdés ...
[17:06:47] Tiszta befejezés 8 másodperc alatt
[17:06:47] A felvétel elindult ...
[17:06:47] Mély linkek indultak ...
[17:06:47] a mélylinkek 15 másodperc alatt fejezték be
[17:06:47] Átmenet indult ...
[17:06:50] A transzpile 3,71 másodpercnél ért véget
[17:06:50] Előfeldolgozás indult ...
[17:06:50] Az előfeldolgozás 1 másodperc alatt befejeződött
[17:06:50] Webpack indult ...
[17:06:51] A példány 3,96 másodpercben kész
[17:06:56] a webpack 5,58 másodpercnél ért célba
[17:06:56] Kezdett a szüregészet ...
A 'from' opció nélkül a PostCSS rossz forrástérképet generálhat, és nem találja meg a Browserslist konfigurációt. Állítsd CSS fájlútra vagy 'undefined'-re, hogy elkerüld ezt a figyelmeztetést.
[17:06:58] SASS 2,05 másodperccel ért célba
[17:06:58] Megkezdődött az utómunka ...
[17:06:58] Utómunka 10 másodperc alatt befejeződött
[17:06:58] Szösz kezdődött ...
[17:06:58] Build fejlesztő 11,65 másodpercben fejezte be
> Cordova build android --release

Kizártak a telemetriából. Ennek megváltoztatására futtasd: cordova telemetria bekapcsolva.
Android Studio projekt észlelve

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(csomópont: 14940) UnhandledPromiseRekectionWarning: Kezeletlen ígéretelutasítás (elutasítási azonosító: 1): CordovaError: Követelményellenőrzés sikertelen JDK 1.8 vagy annál magasabb verzióra
(csomópont: 14940) [DEP0018] DefrecationWarning: Kezeletlen ígéretvisszautasítások elavultak. A jövőben az ígéretek elutasításai, amelyeket nem kezelnek, a Node.js folyamatot nem nulla kijárati kóddal zárják le.

[17:07:01] Lint 3,00 másodpercnél ért véget

Újra végrehajtom a fenti parancsot, mert a hálózati sebességem lassú, és ez az első alkalom, hogy végrehajtom, letöltöm sok komponenst stb., és 12 percig végrehajtom, ahogy az alábbi ábrán is látható:



C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。

Lemásolom a "app-release-unsigned.apk" betűt a telefonomra (Huawei Honor 10), és a hiba a következő lesz:



Ez azért van, mert az alkalmazás nincs aláírva, és nem lehet telepíteni.

APK aláírás

Mivel a Java könyvtáram a környezeti változók között van, csak a cmd parancsot kell végrehajtanom az alábbiakban:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA az RSA algoritmust használja az aláírások titkosítására
       - Érvényesség 40000 Érvényesség 4000 nap
       -keystore itsvse.keystore fájlnév */

Az apksigner az SDK könyvtár build-tools könyvtárában található. Meg kell jegyezni, hogy a v2 aláírási módszert csak az Android 7.0 után vezették be, így apksigner.jar csak az SDK\build-tools\ >25-ös verzióban található.
Nyisd meg a cmd-t, vágd a könyvtárat SDK\build-tools\Version number\lib (például C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib), és hajtsd végre:


Példa:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore helyszíne
       -signedjar demor_signed.apk demo.apk demo.keystore hivatalosan aláírva, a fájl demo_signed a három paraméter sorrendjében a aláírás után, a fájl demo.apk aláírt, és a kulcstároló demo.keystore.*/



Ellenőrizd, hogy az apk már alá van írva:

Átmásoljuk az aláírt "output.apk" fájlt a telefonra, majd telepítjük, így normálisan telepíthető, és normálisan fut, ahogy az alábbi ábrán látható:







Előző:Hogyan lehet teljesen eltávolítani több Java verziót
Következő:Nem találtak alkatrészgyárat a ListPage-hez. Hozzáadtad
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com