Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12549|Απάντηση: 0

[ιωνικός] Ionic Development Android App Practice (2): Android Packaging apk

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 20/6/2018 10:16:52 π.μ. | | | |
Ανάπτυξη σε κινητά τηλέφωνα και χρήση προσθηκών cordova

Έχουμε αναπτύξει μια απλή διαδικτυακή εφαρμογή και τώρα θα κάνουμε κάποιες προετοιμασίες πριν την αναπτύξουμε σε κινητά.
Το Ionic υποστηρίζει δύο πλατφόρμες: ios και android, το προεπιλεγμένο έργο Ionic δεν προσθέτει αυτές τις δύο πλατφόρμες, πρέπει να το προσθέσουμε χειροκίνητα, cd στον κατάλογο ανάπτυξης για να εκτελέσουμε την εντολή:


Χρειάζομαι μόνο την πλατφόρμα Android εδώ και αφού την εκτελέσω, θα εκτελέσω την εντολή για να δω τη λίστα των πλατφορμών που έχετε προσθέσει:

> Cordova Platform LS

Έχετε εξαιρεθεί από την τηλεμετρία. Για να το αλλάξετε αυτό, εκτελέστε: cordova telemetry on.
Εγκατεστημένες πλατφόρμες:
  Android 7.0.0
Διαθέσιμες πλατφόρμες:
  φυλλομετρητής ~5.0.1
  iOS ~4.5.4
  OSX ~4.0.1
  παράθυρα ~5.0.0
  www ^3.12.0 (στα Αγγλικά)



Πακέτο Android


(Εάν υπάρχει πρόβλημα με αυτήν την εντολή, μπορείτε να καταργήσετε το -release και στη συνέχεια να διορθώσετε τη μεταγλώττιση και η μεταγλώττιση ολοκληρωθεί, το DOS θα εμφανίσει τη θέση του καταλόγου apk)

Εάν τα έξυπνα μάτια σας εντοπίσουν τις ακόλουθες λέξεις: Χτίστε την επιτυχία! Σημαίνει ότι έχετε συσκευάσει με επιτυχία. Να είστε υπομονετικοί, το τέλος της γραμμής εντολών θα σας ζητήσει πού δημιουργείται το apk.

Όταν εκτελέσω ξανά την εντολή συσκευασίας, το σφάλμα θα είναι το εξής, το σφάλμα είναι ότι η έκδοση jdk είναι πολύ υψηλή, είμαι η έκδοση "jdk-10.0.1" και μπορώ να κατεβάσω ξανά και να εγκαταστήσω μια έκδοση "1.8.0_171" για να λύσω το πρόβλημα!!

C:\project\android\myApp>ionic cordova build android --release
Εκτέλεση σεναρίων εφαρμογών: --πλατφόρμα android --target cordova
[17:06:47] Ο προγραμματιστής κατασκευής ξεκίνησε ...
[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] Το transpile τελείωσε σε 3.71 δευτερόλεπτα
[17:06:50] Η προεπεξεργασία ξεκίνησε ...
[17:06:50] Η προεπεξεργασία ολοκληρώθηκε σε 1 ms
[17:06:50] Το Webpack ξεκίνησε ...
[17:06:51] Το αντίγραφο ολοκληρώθηκε σε 3,96 δευτερόλεπτα
[17:06:56] Το Webpack τελείωσε σε 5.58 δευτερόλεπτα
[17:06:56] Η Sass ξεκίνησε ...
Χωρίς την επιλογή «από», το PostCSS θα μπορούσε να δημιουργήσει λάθος χάρτη πηγής και δεν θα βρει τη διαμόρφωση του Browserslist. Ορίστε το σε διαδρομή αρχείου CSS ή σε «απροσδιόριστο» για να αποτρέψετε αυτήν την προειδοποίηση.
[17:06:58] Η Sass τερμάτισε σε 2.05 δευτερόλεπτα
[17:06:58] Η διαδικασία μετά την έναρξη ...
[17:06:58] Η μετα-διαδικασία ολοκληρώθηκε σε 10 ms
[17:06:58] Το χνούδι ξεκίνησε...
[17:06:58] Ο προγραμματιστής κατασκευής τελείωσε σε 11.65 δευτ.
> cordova build android --release

Έχετε εξαιρεθεί από την τηλεμετρία. Για να το αλλάξετε αυτό, εκτελέστε: cordova telemetry on.
Εντοπίστηκε έργο 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] DeprecationWarning: Οι απορρίψεις υποσχέσεων που δεν έχουν χειριστεί αποσύρονται. Στο μέλλον, οι απορρίψεις υποσχέσεων που δεν αντιμετωπίζονται θα τερματίσουν τη διαδικασία Node.js με έναν μη μηδενικό κωδικό εξόδου.

[17:07:01] Ο Lint τερμάτισε σε 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 产生密钥
       -ψευδώνυμο demo.keystore ψευδώνυμο 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\Αριθμός έκδοσης\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 τοποθεσία 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 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com