Terapkan ke ponsel dan penggunaan plugin cordova
Kami telah mengembangkan aplikasi web sederhana, dan sekarang kami akan melakukan beberapa persiapan sebelum menerapkannya ke seluler. Ionic mendukung dua platform: ios dan android, proyek Ionic default tidak menambahkan kedua platform ini, kita perlu menambahkannya secara manual, cd ke direktori pengembangan untuk menjalankan perintah:
Saya hanya membutuhkan platform Android di sini, dan setelah menjalankannya, saya akan menjalankan perintah untuk melihat daftar platform yang telah Anda tambahkan:
> cordova platform ls
Anda telah memilih keluar dari telemetri. Untuk mengubahnya, jalankan: cordova telemetri aktif. Platform yang dipasang: android 7.0.0 Platform yang tersedia: browser ~ 5.0.1 ios ~ 4.5.4 OSX ~ 4.0.1 jendela ~ 5.0.0 www ^3.12.0
Paket Android
(Jika ada masalah dengan perintah ini, Anda dapat menghapus -release dan kemudian debug kompilasi, dan kompilasi selesai, DOS akan menampilkan lokasi direktori apk)
Jika mata pintar Anda melihat kata-kata berikut: Bangun Kesuksesan! Artinya Anda telah berhasil mengemas. Bersabarlah, akhir baris perintah akan meminta Anda di mana apk dibuat.
Ketika saya menjalankan perintah pengemasan lagi, kesalahannya adalah sebagai berikut, kesalahannya adalah versi jdk terlalu tinggi, saya adalah versi "jdk-10.0.1", dan saya dapat mengunduh ulang dan menginstal versi "1.8.0_171" untuk menyelesaikan masalah!!
C:\project\android\myApp>ionic cordova build android --release Menjalankan build-script aplikasi: --platform android --target cordova [17:06:47] membangun pengembang dimulai ... [17:06:47] Bersih dimulai ... [17:06:47] Selesai bersih dalam 8 ms [17:06:47] Salinan dimulai ... [17:06:47] Tautan dalam dimulai ... [17:06:47] Deeplinks selesai dalam 15 ms [17:06:47] Transpile dimulai ... [17:06:50] Transpile selesai dalam 3,71 detik [17:06:50] Praproses dimulai ... [17:06:50] Praproses selesai dalam 1 ms [17:06:50] Webpack dimulai ... [17:06:51] salinan selesai dalam 3,96 detik [17:06:56] Webpack selesai dalam 5,58 detik [17:06:56] Sass mulai ... Tanpa opsi 'dari', PostCSS dapat menghasilkan peta sumber yang salah dan tidak akan menemukan konfigurasi Browserslist. Atur ke jalur file CSS atau ke 'undefined' untuk mencegah peringatan ini. [17:06:58] Sass selesai dalam 2,05 detik [17:06:58] Pascaproses dimulai ... [17:06:58] Pascaproses selesai dalam 10 ms [17:06:58] Lint mulai ... [17:06:58] Build Dev selesai dalam 11,65 detik > cordova build android --release
Anda telah memilih keluar dari telemetri. Untuk mengubahnya, jalankan: cordova telemetri aktif. Project Android Studio terdeteksi
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (simpul: 14940) UnhandledPromiseRejectionPeringatan: Penolakan promise yang tidak ditangani (id penolakan: 1): CordovaError: Pemeriksaan persyaratan gagal untuk JDK 1.8 atau yang lebih tinggi (simpul: 14940) [DEP0018] DeprecationWarning: Penolakan promise yang tidak ditangani tidak digunakan lagi. Di masa mendatang, penolakan janji yang tidak ditangani akan mengakhiri proses Node.js dengan kode keluar bukan nol.
[17:07:01] Lint finis dalam 3.00 detik Jalankan perintah di atas lagi, karena kecepatan jaringan saya lambat, dan ini adalah pertama kalinya untuk mengeksekusi, mengunduh banyak komponen, dll., dan menjalankannya selama 12 menit, seperti yang ditunjukkan pada gambar di bawah ini:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Saya menyalin "app-release-unsigned.apk" ke ponsel saya (Huawei Honor 10), dan kesalahannya adalah sebagai berikut:
Hal ini disebabkan oleh aplikasi yang tidak ditandatangani dan tidak dapat diinstal.
Tanda tangan APK
Karena direktori Java saya berada di variabel lingkungan, saya hanya perlu menjalankan perintah cmd sebagai berikut:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA menggunakan algoritma RSA untuk mengenkripsi tanda tangan -masa berlaku 40000 Masa berlaku 4000 hari -keystore itsvse.keystore nama file */ apksigner terletak di direktori build-tools direktori SDK. Harus dicatat bahwa metode penandatanganan v2 hanya diperkenalkan setelah Android 7.0, sehingga apksigner.jar hanya dapat ditemukan di SDK\build-tools\ untuk versi >25. Buka cmd, potong direktori ke SDK\build-tools\Nomor version\lib (misalnya, C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib), dan jalankan:
Contoh:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.lokasi keystore keystore -signedjar demor_signed.apk demo.apk demo.keystore resmi ditandatangani, file demo_signed dihasilkan setelah penandatanganan secara berurutan dalam tiga parameter, file demo.apk akan ditandatangani, dan keystore demo.keystore.*/
Periksa apakah apk sudah ditandatangani:
Kami menyalin file "output.apk" yang ditandatangani ke ponsel, lalu menginstalnya, dapat diinstal secara normal, dan dapat berjalan secara normal, seperti yang ditunjukkan pada gambar di bawah ini:
|