Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12549|Odpowiedź: 0

[joński] Ionic Development Android App Practice (2): Android Packaging apk

[Skopiuj link]
Opublikowano 20.06.2018 10:16:52 | | | |
Wdrażanie na telefony komórkowe i korzystanie z wtyczek cordova

Stworzyliśmy prostą aplikację webową i teraz zamierzamy przygotować ją przed wdrożeniem na urządzeniach mobilnych.
Ionic obsługuje dwie platformy: iOS i Android, domyślny projekt Ionic nie dodaje tych dwóch platform, musimy dodać go ręcznie, cd do katalogu deweloperskiego, aby wykonać polecenie:


Potrzebuję tu tylko platformy Android, a po jej uruchomieniu wykonam polecenie, aby wyświetlić listę dodanych przez Ciebie platform:

> peron Cordova LS

Zostałeś wykluczony z telemetrii. Aby to zmienić, uruchom: telemetria cordova włączona.
Zainstalowane platformy:
  Android 7.0.0
Dostępne platformy:
  przeglądarka ~5.0.1
  iOS ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Pakiet Android


(Jeśli pojawi się problem z tym poleceniem, możesz usunąć -release, a następnie debugować kompilację, a kompilacja zostanie zakończona, DOS wyświetli lokalizację katalogu apk)

Jeśli twoje bystre oko dostrzeże następujące słowa: Buduj sukces! Oznacza to, że pomyślnie zapakowałeś zamówienie. Bądź cierpliwy, na końcu wiersza poleceń pojawi się informacja, gdzie wygenerowany jest apk.

Gdy ponownie wykonam polecenie pakowania, błąd będzie następujący: wersja jdk jest zbyt wysoka, mam wersję "jdk-10.0.1" i mogę ponownie pobrać oraz zainstalować wersję "1.8.0_171", żeby rozwiązać problem!!

C:\project\android\myApp>ionic cordova build android --release
Uruchamianie skryptów aplikacji: --platforma android --target cordova
[17:06:47] rozpoczęto tworzenie budowy...
[17:06:47] Czysty start ...
[17:06:47] czysty ukończył w 8 ms
[17:06:47] kopia rozpoczęła ...
[17:06:47] Deeplinks rozpoczęło ...
[17:06:47] deeplinks ukończył w 15 ms
[17:06:47] rozpoczęto transpile ...
[17:06:50] Transpile ukończył w 3,71 s
[17:06:50] rozpoczęto preprocesowanie ...
[17:06:50] proces wstępny zakończony w 1 ms
[17:06:50] webpack rozpoczął ...
[17:06:51] kopia zakończona w 3,96 s
[17:06:56] Webpack ukończył w 5,58 s
[17:06:56] zadziorność zaczęła ...
Bez opcji 'from' PostCSS może wygenerować błędną mapę źródłową i nie znajdzie konfiguracji Browserslist. Ustaw ścieżkę do pliku CSS lub "niezdefiniowane", aby zapobiec temu ostrzeżeniu.
[17:06:58] SASS ukończył w 2,05 s
[17:06:58] rozpoczęto postproces...
[17:06:58] proces końcowy w 10 ms
[17:06:58] Lint się zaczął ...
[17:06:58] Build Dev ukończył w 11,65 s
> Cordova Build Android – wydanie

Zostałeś wykluczony z telemetrii. Aby to zmienić, uruchom: telemetria cordova włączona.
Wykryto projekt Android Studio

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(node:14940) NieobsługiwaneObiecOdrzenieOstrzeżenie: Nieobsłużone odrzucenie obietnicy (odrzucenie id: 1): CordovaError: Sprawdzenie wymagań nie zostało zadane dla JDK 1.8 lub wyższego
(node:14940) [DEP0018] WycofanieOstrzeżenie: Odrzucenia obietnic są niespełnione i wygaszane. W przyszłości odrzucenia obietnic, które nie zostaną obsłużone, zakończą proces Node.js niezerowym kodem wyjścia.

[17:07:01] Lint ukończył w 3,00 s

Wykonałem powyższe polecenie ponownie, ponieważ prędkość mojej sieci jest wolna, a to pierwszy raz, kiedy wykonuję, pobieram dużo komponentów itd., i wykonuję to przez 12 minut, jak pokazano na poniższym rysunku:



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

Kopiuję "app-release-unsigned.apk" na telefon (Huawei Honor 10) i błąd wygląda następująco:



Dzieje się tak, ponieważ aplikacja nie jest podpisana i nie można jej zainstalować.

APK Signature

Ponieważ mój katalog Java znajduje się w zmiennych środowiskowych, muszę wykonać tylko polecenie cmd w następujący sposób:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA wykorzystuje algorytm RSA do szyfrowania sygnatur
       -ważność 40000 Ważność 4000 dni
       -keystore itsvse.keystore file _/

apksigner znajduje się w katalogu build-tools w katalogu SDK. Należy zauważyć, że metoda podpisywania v2 została wprowadzona dopiero po Androidzie 7.0, więc można apksigner.jar znaleźć tylko w SDK\build-tools\ dla wersji >25.
Otwórz cmd, wytnij katalog na SDK\build-tools\Version number\lib (np. C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) i wykonaj:


Przykład:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore lokalizacja
       -signedjar demor_signed.apk demo.apk demo.keystore oficjalnie podpisany, plik demo_signed wygenerowany po podpisaniu w kolejności trzech parametrów, plik demo.apk podlegać podpisowi oraz keystore demo.keystore.*/



Sprawdź, czy apk jest już podpisany:

Kopiujemy podpisany plik "output.apk" na telefon, a następnie go instalujemy, można go zainstalować normalnie i działać normalnie, jak pokazano na poniższym rysunku:







Poprzedni:Jak całkowicie odinstalować wiele wersji Javy
Następny:Nie znaleziono żadnej fabryki komponentów do ListPage. Dodałeś to do
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com