Saya membuat contoh aplikasi bernama checkStatus
. Sekarang saya ingin membuat file APK yang ditandatangani. Jadi saya dapat menginstalnya di perangkat yang berbeda untuk pengujian saya.
Untuk ini, saya mencari di Google dan menemukan dokumentasi ini .
Sesuai dokumen, saya beralih ke direktori proyek saya dan menjalankan perintah berikut:
keytool -genkey -v -keystore key-name.keystore -alias alias-name -keyalg RSA -keysize 2048 -validity 10000
Setelah saya menjalankan perintah di atas, saya mendapat file bernama key-name.keystore
at projectRoot/key-name.keystore
.
Dan kemudian saya salin-tempel file itu ke projectRoot/platforms/android/key-name.keystore
.
Setelah itu, saya membuat file bernama ant.properties
dan menyimpannya projectRoot/platforms/android
.
Saya menulis kode berikut di dalam file:
key.store=projectRoot/key-name.keystore
key.alias=myApp
Setelah itu, saya menjalankan perintah berikut untuk melepaskan
Cordova builds android --release
Itu melempar kesalahan berikut:
/home/projectRoot/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: ant with args: release,-f,/home/projectRoot/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /home/projectRoot/platforms/android/cordova/build: Command failed with exit code 8
at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)
Jadi kali ini, saya memodifikasi key.store
nilai dalam ant.properties
file seperti dengan cara berikut.
key.store=/home/projectRoot/platforms/android/key-name.keystore
Sekali lagi, saya menjalankan cordova build android --release
perintah. Itu melempar kesalahan yang sama.
Adakah yang bisa memberi tahu saya apa yang telah saya lakukan salah?
Jawaban:
Langkah 1:
tambahkan
--save
sehingga menghapus plugin dariconfig.xml
file.Langkah 2:
Untuk menghasilkan rilis rilis untuk Android, pertama-tama kita perlu membuat perubahan kecil pada
AndroidManifest.xml
file yang ditemukan di platform / android. Edit file dan ubah baris:dan ubah
android:debuggable
kefalse
:Pada cordova 6.2.0 hapus tag android: debuggable sepenuhnya. Berikut ini penjelasan dari cordova:
Jika di sisi lain Anda menentukan nilai tertentu dalam file manifes, maka alat akan selalu menggunakannya. Ini dapat menyebabkan aplikasi Anda secara tidak sengaja menerbitkan informasi debug.
Langkah 3:
Sekarang kita bisa memberi tahu cordova untuk membuat versi rilis kami:
Kemudian, kita dapat menemukan file APK yang tidak ditandatangani di
platforms/android/ant-build
. Dalam contoh kami, file ituplatforms/android/ant-build/Example-release-unsigned.apk
Langkah 4:
Catatan: Kami memiliki keystore kami
keystoreNAME-mobileapps.keystore
di Repo Git ini, jika Anda ingin membuat yang lain, silakan lanjutkan dengan langkah-langkah berikut.Generasi kunci:
Sintaksis:
Misalnya:
Maka penyimpanan kunci telah dihasilkan dengan nama sebagai NAME-mobileapps.keystore
Langkah 5:
Tempatkan keystore yang dihasilkan di
Cordova versi lama
Cordova versi baru
Untuk menandatangani APK yang tidak ditandatangani, jalankan alat jarsigner yang juga termasuk dalam JDK:
Sintaksis:
Misalnya:
ATAU
Ini menandatangani apk di tempat.
Langkah 6:
Terakhir, kita perlu menjalankan alat zip align untuk mengoptimalkan APK:
ATAU
ATAU
Sekarang kami memiliki rilis biner terakhir kami yang disebut example.apk dan kami dapat merilis ini di Google Play Store.
sumber
-tsa timestamp.digicert.com
melemparkan NullPointerException untuk saya.-tsa http://timestamp.digicert.com
tampaknya memperbaikinyaPembaruan untuk @malcubierre untuk Cordova 4 (dan yang lebih baru) -
Buat file yang dipanggil
release-signing.properties
dan letakkan diAPPFOLDER\platforms\android
folderIsi file: edit setelah = untuk semua kecuali baris ke-2
Maka perintah ini harus membangun versi rilis:
sumber
build-extras.gradle
file. Cordova doc yang relevan di sini .Dalam dokumentasi saat ini kita dapat menentukan build.json dengan keystore:
Dan kemudian, jalankan commando dengan --buildConfig argumente, dengan cara ini:
sumber
Langkah 1:
Pergi ke
cordova\platforms\android
semut buatant.properties
file bernama fille dengan info file keystore (keystore ini dapat dihasilkan dari Android SDK, studio ...):Langkah 2:
Pergi ke jalur cordova dan jalankan:
Catatan: Anda akan diminta menanyakan keystore dan kata sandi kunci Anda
YourApp-release.apk akan muncul di
\cordova\platforms\android\ant-build
sumber
Dalam cordova 6.2.0 , ia memiliki cara mudah untuk membuat rilis build. lihat langkah-langkah lain di sini. Langkah 1, 2 dan 4
sumber
The system cannot find the file specified
menggunakan Cordova 6.2.0cordova build android --release -- --keystore="C:\release.keystore" --storePassword=****** --alias=mr5
"
(penawaran ganda), mulai berjalan. Saya pikir Cordova memiliki masalah tentang parsing karakter khusus.Di Mac (osx), saya membuat dua file .sh, satu untuk publikasi pertama dan satu lagi untuk memperbarui:
Dan untuk memperbarui aplikasi Anda:
Dengan asumsi Anda berada di folder rumah Anda atau folder yang berada di atas folder aplikasi Anda. Pastikan untuk mengatur chmod dengan benar untuk menggunakan skrip ini. Kemudian :
Apk yang Anda tandatangani akan berada di folder Aplikasi Anda / platform / android / build / outputs / apk / sebagai SignedApk.apk Pastikan untuk menggunakan alias dan kata sandi kunci yang benar yang ditentukan dengan skrip pertama
sumber
Buat file APK rilis cordova dalam cmd.
PATY STORE FILE KEY : path file keystore (F: /cordova/myApp/xxxxx.jks)
TOKO KUNCI SANDI : xxxxx
ALIAS STORE KUNCI : xxxxx
TOKO KUNCI ALIAS PASSWORD : xxxxx
PATH OF zipalign.exe : jalur file zipalign.exe (C: \ Users \ xxxx \ AppData \ Local \ Android \ sdk \ build-tools \ 25.0.2 \ zipalign)
ANDROID UNSIGNED APK NAME : android-release-unsigned.apk
ANDROID RELEASE APK NAME : android-release.apk
Jalankan langkah-langkah di bawah ini dalam cmd (jalankan sebagai administrator)
sumber
sumber
Pertama Periksa kode versi dan nama versi Anda jika Anda memperbarui aplikasi Anda. Dan pastikan Anda memiliki keystore sebelumnya.
Jika Anda memperbarui aplikasi maka ikuti langkah 1,3,4.
Langkah 1:
Goto proyek cordova Anda untuk menghasilkan rilis build kami:
Kemudian, kita dapat menemukan file APK yang tidak ditandatangani di platform / android / ant-build. Dalam contoh kami, file itu
jika Anda menggunakan semut-membangun
ATAU
jika Anda menggunakan gradle-build
Langkah 2:
Generasi kunci:
Sintaksis:
jika perintah keytool tidak dikenali lakukan langkah ini
Periksa apakah direktori tempat eksekusi keytool ada di jalur Anda. (Misalnya, pada mesin Windows 7 saya, ada di C: \ Program Files (x86) \ Java \ jre6 \ bin.)
Contoh:
Maka penyimpanan kunci telah dihasilkan dengan nama sebagai NAME-mobileapps.keystore
Langkah 3:
Tempatkan keystore yang dihasilkan di D: \ project \ Phonegap \ Example \ platform \ android \ ant-build
Untuk menandatangani APK yang tidak ditandatangani, jalankan alat jarsigner yang juga termasuk dalam JDK:
Sintaksis:
Jika tidak melakukan perbaikan lakukan langkah-langkah ini
(1) Klik kanan pada "PC ini"> Properti klik kanan> Pengaturan sistem lanjutan> Variabel Lingkungan> pilih PATH kemudian EDIT.
(2) Tambahkan path folder jdk bin Anda ke variabel lingkungan, seharusnya akan terlihat seperti ini:
"C: \ Program Files \ Java \ jdk1.8.0_40 \ bin".
Contoh:
Ini menandatangani apk di tempat.
Langkah 4:
Terakhir, kita perlu menjalankan alat zip align untuk mengoptimalkan APK:
jika zipalign tidak dikenali maka
(1) goto path sdk android Anda dan temukan zipalign biasanya di android-sdk \ build-tools \ 23.0.3
(2) Salin tempel file zipalign ke folder apk rilis rilis Anda, biasanya di lintasan di bawah ini
yourproject / platform / android / ant-build / Contoh-release-unsigned.apk
ATAU
Sekarang kami memiliki rilis biner terakhir kami yang disebut example.apk dan kami dapat merilis ini di Google Play Store.
sumber
Untuk Windows, saya telah membuat
build.cmd
file:(ganti jalur keystore dan alias)
Untuk Cordova:
Dan untuk ionik:
Simpan di direktori ptoject, Anda dapat mengklik dua kali atau membukanya dengan cmd.
sumber