Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 12549|Yanıt: 0

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

[Bağlantıyı kopyala]
Yayınlandı 20.06.2018 10:16:52 | | | |
Cep telefonlarına dağıtma ve cordova eklentilerini kullanmak

Basit bir web uygulaması geliştirdik ve şimdi onu mobile yüklemeden önce bazı hazırlıklar yapacağız.
Ionic iki platformu destekliyor: iOS ve Android; varsayılan Ionic projesi bu iki platformu eklemez, komutu çalıştırmak için geliştirme dizinine cd eklememiz gerekiyor:


Burada sadece Android platformuna ihtiyacım var ve çalıştırdıktan sonra eklediğiniz platformların listesini görüntülemek için komutu çalıştıracağım:

> cordova platform ls

Telemetri dışından ayrıldınız. Bunu değiştirmek için, şu koştur: cordova telemetri açık.
Kurulan platformlar:
  Android 7.0.0
Mevcut platformlar:
  tarayıcı ~5.0.1
  iOS ~4.5.4
  osx ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Android paketi


(Bu komutta bir sorun varsa, -release tuşunu kaldırıp derlemeyi hata ayıklayabilir ve derleme tamamlanır, DOS apk dizin konumunu gösterir)

Akıllı gözleriniz şu kelimeleri fark ederse: Başarıyı Inşa Edin! Bu, başarılı bir şekilde paketlediğiniz anlamına gelir. Sabırlı olun, komut satırının sonunda apk'nın nerede üretildiğini soracak.

Paketleme komutunu tekrar çalıştırdığımda hata şu olacak, hata jdk sürümünün çok yüksek olduğu, ben "jdk-10.0.1" sürüm ve sorunu çözmek için "1.8.0_171" sürümünü yeniden indirip kurabiliyorum!!

C:\project\android\myApp>ionic cordova build android --release
Çalıştırılan app-scripts derleme: --platform android --target cordova
[17:06:47] Geliştirici inşa edildi ...
[17:06:47] temiz başladı ...
[17:06:47] temiz bitiş 8 saniyede
[17:06:47] Kopya başladı ...
[17:06:47] derin bağlantılar başladı ...
[17:06:47] Deeplinks 15 saniyede bitti
[17:06:47] Transpile başladı ...
[17:06:50] Transpile 3.71 saniyede bitti
[17:06:50] Ön işlem başladı ...
[17:06:50] Ön işlem 1 saniyede tamamlandı
[17:06:50] Webpack başladı ...
[17:06:51] kopya 3.96 saniyede bitti
[17:06:56] Webpack 5.58 saniyede bitirdi
[17:06:56] Şımarlık başladı ...
'From' seçeneği olmadan PostCSS yanlış kaynak haritası oluşturabilir ve Browserslist yapılandırmasını bulamaz. Bu uyarıyı önlemek için CSS dosya yolu veya 'tanımlanmamış' olarak ayarlayın.
[17:06:58] SASS 2.05 saniyede bitirdi
[17:06:58] Süreç sonrası başladı ...
[17:06:58] Süreç sonrası 10 saniyede tamamlandı
[17:06:58] tüy başladı ...
[17:06:58] Build Dev 11.65 saniyede bitirdi
> Cordova Android yapıp --sürüm

Telemetri dışından ayrıldınız. Bunu değiştirmek için, şu koştur: cordova telemetri açık.
Android Studio projesi tespit edildi

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(düğüm:14940) UnhandledPromiseRereddionWarning: UnhandledPromise promise reddi (reddedilme kimliği: 1): CordovaError: JDK 1.8 veya üzeri için gereksinim kontrolü başarısız oldu
(düğüm:14940) [DEP0018] IprecationWarning: Yönetilmemiş söz reddetmeleri kullanımdan kaldırılmıştır. Gelecekte, işlenmeyen söz reddetmeleri, sıfır olmayan çıkış koduyla Node.js süreci sonlandıracaktır.

[17:07:01] Lint 3.00 saniyede bitirdi

Yukarıdaki komutu tekrar çalıştırın, çünkü ağ hızım yavaş, ve ilk kez çalıştırıp, çok sayıda bileşeni indirip 12 dakika çalıştırıyorum, aşağıdaki şekilde gösterilmiştir:



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

Telefonuma (Huawei Honor 10) "app-release-unsigned.apk" kopyaladım, hata şu şekilde olacak:



Bunun sebebi uygulamanın imzalanmaması ve kurulumun yapılamaması.

APK imzası

Java dizinim ortam değişkenlerinde olduğu için, cmd komutunu aşağıdaki gibi çalıştırmam yeterli:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA, imzaları şifrelemek için RSA algoritmasını kullanır
       -geçerlilik 40000 Geçerlilik 4000 gün
       -keystore itsvse.keystore dosya adı */

apksigner, SDK dizininin build-tools dizininde yer alır. V2 imza yönteminin ancak Android 7.0'dan sonra tanıtıldığı belirtilmeli, bu yüzden apksigner.jar yalnızca >25 sürümü için SDK\build-tools\'da bulunabilir.
cmd açın, dizini SDK\build-tools\Version number\lib olarak kesin (örneğin, C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) ve çalıştırın:


Örnek:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore konumu
       -signedjar demor_signed.apk demo.apk demo.keystore resmi olarak imzalandı, dosya üç parametre sırasına göre imzalandıktan sonra demo_signed oluşturulur, dosya imzalanacak demo.apk ve anahtar deposu demo.keystore.*/



APK'nın zaten imzalanıp imzalanmadığını kontrol edin:

İmzalı "output.apk" dosyasını telefona kopyalıyoruz ve sonra kuruyoruz, normal şekilde kurulabilir ve normal çalışabilir, aşağıdaki şekilde gösterildiği gibi:







Önceki:Birden fazla Java sürümünü tamamen kaldırmak
Önümüzdeki:ListPage için bileşen fabrikası bulunamadı. Ekledin mi?
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com