Bagaimana saya dapat membangun aplikasi android secara lokal menggunakan Phonegap 3.x CLI, siap untuk dirilis? Saya memeriksa folder bin yang dihasilkan di dalam direktori platforms / android dari proyek, dan hanya memiliki APK .debug.
Ngomong-ngomong, saya menggunakan perintah ini: phonegap local build android
sumber
<application android:debuggable="true"...
mengubah ke<application android:debuggable="false"
/path/to/your/project/platforms/android/ant-build
Di PhoneGap 3.4.0 Anda dapat menghubungi:
Jika Anda telah menyiapkan file 'ant.properties' di direktori 'platforms / android' seperti berikut:
Kemudian Anda akan dimintai kata sandi keystore dan file output (myapp-release.apk) berakhir di direktori 'platforms / android / ant-build' yang sudah ditandatangani dan disejajarkan serta siap untuk diterapkan.
sumber
ant.properties
diplatforms/android
dan hanya menjatuhkan dua sifat ini ke dalamnya. Bekerja dengan sempurna, terima kasih!Di cordova 6.2.0
Jawaban sebelumnya:
Menurut cordova 5.0.0
dan jalankan
./build --release --buildConfig build.json
dari direktoriplatforms/android/cordova/
Lokasi file keystore relatif terhadap
platforms/android/cordova/
, jadi di.keystore
file konfigurasi di atas danbuild.json
berada di direktori yang sama.keytool -genkey -v -keystore app-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
sumber
Menindaklanjuti @ steven-anderson Anda juga dapat mengkonfigurasi kata sandi di dalam ant.properties, sehingga prosesnya dapat sepenuhnya otomatis
jadi jika Anda meletakkan di platform \ android \ ant.properties berikut ini
sumber
hanya bertanya-tanya banyak karena saya mendapat masalah yang sama tetapi dalam instalasi saya perintah "cordova" tidak pernah tersedia dan "phone gap build android --release" hanya mengabaikan platform / android / ant.properties.
jadi melihat ke dalam filter platform saya, saya menemukan folder bernama "cordova" dan di dalamnya ada biner "build" yang menerima argumen --release, itu meminta saya untuk gantungan kunci dan saya mengakhirinya dengan ditandatangani dan siap untuk produksi APK.
ini tidak pernah didokumentasikan di bagian mana pun dari situs celah telepon dan terus terang sekarang saya agak benci phonegap :( itu seharusnya membuat segalanya lebih mudah tetapi semuanya hanya rumit :(
sumber
Langkah-langkah ini dapat digunakan untuk Cordova, PhoneGap atau Ionic. Satu-satunya perbedaan adalah, di mana pun panggilan ke
cordova
ditempatkan, ganti denganphonegap
atauionic
, untuk skenario khusus Anda.Setelah Anda selesai dengan pengembangan dan siap untuk menyebarkan, ikuti langkah-langkah berikut:
Buka jendela baris perintah (Terminal di macOS dan Linux ATAU Prompt Perintah di Windows).
Pergi ke / path / ke / your / project /, yang akan kami sebut sebagai Project Root.
Saat berada di root proyek, hapus plugin "Konsol" dari kumpulan plugin Anda.
Perintahnya adalah:
cordova plugin rm cordova-plugin-console
Saat masih di root project, gunakan perintah build cordova untuk membuat APK untuk distribusi rilis.
Perintahnya adalah:
cordova build --release android
Proses di atas membuat file yang disebut
android-release-unsigned.apk
di folderProjectRoot/platforms/android/build/outputs/apk/
Menandatangani dan menyelaraskan APK menggunakan petunjuk di https://developer.android.com/studio/publish/app-signing.html#signing-manually
Di akhir langkah ini, APK yang Anda dapatkan dapat diunggah ke Play Store .
Catatan: Sebagai pemula atau pemula, langkah terakhir mungkin agak membingungkan bagi saya. Seseorang mungkin mengalami beberapa masalah dan mungkin memiliki beberapa pertanyaan tentang apa perintah ini dan di mana menemukannya.
P1. Apa itu jarsigner dan keytool ?
Jawab: Petunjuk Penandatanganan Aplikasi Android memberi tahu Anda secara spesifik tentang apa itu jarsigner dan keytool TETAPI tidak memberi tahu Anda di mana menemukannya jika Anda mengalami 'perintah tidak ditemukan kesalahan' pada jendela baris perintah.
Jadi, jika Anda memiliki Java Development Kit (JDK) yang ditambahkan ke variabel PATH Anda , cukup menjalankan perintah seperti di Panduan akan berfungsi. NAMUN, jika Anda tidak memilikinya di PATH, Anda selalu dapat mengaksesnya dari folder bin instalasi JDK Anda.
Q2. Dimana zipalign ?
Jawab: Ada kemungkinan besar untuk tidak menemukan perintah zipalign dan menerima 'kesalahan perintah tidak ditemukan'. Anda mungkin akan googling zipalign dan di mana menemukannya?
The zipalign utilitas hadir dalam folder instalasi Android SDK. Di macOS, lokasi default berada di
user-name/Library/Android/sdk/
,. Jika Anda kepala ke folder yang Anda akan menemukan sekelompok folder lain sepertidocs
,platform-tools
,build-tools
,tools
,add-ons
...Buka
build-tools
folder.cd build-tools
. Di sini, akan ada sejumlah folder yang diversi sesuai dengan build tool-chain yang Anda gunakan di Android SDK Manager. ZipAligntersedia di masing-masing folder ini. Saya pribadi mencari folder dengan versi terbaru di atasnya. Buka Any.Di macOS atau Linux, Anda mungkin harus menggunakan
./zipalign
daripada hanya mengetikzipalign
seperti yang disebutkan dalam dokumentasi. Di Windows,zipalign
sudah cukup bagus.sumber
Saya mendapatkan ini untuk bekerja dengan menyalin menempelkan aplikasi yang ditandatangani di direktori yang sama dengan zipalign. Tampaknya aapt.exe tidak dapat menemukan file sumber bahkan ketika diberi jalur. yaitu ini tidak berfungsi zipalign -f -v 4 C: ... \ CordovaApp-release-unsigned.apk C: ... \ destination.apk itu mencapai aapt.exeCordovaApp-release-unsigned.apk, membeku dan setelah menekan kembali 'aapt.exeCordovaApp-release-unsigned.apk' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dioperasikan, atau file batch. Dan ini melakukan zipalign -f -v 4 CordovaApp-release-unsigned.apk myappname.apk
sumber
Saya tahu pertanyaan ini menanyakan tentang Phonegap 3.X secara khusus, tetapi hanya untuk referensi, versi Phonegap di atas 4.0.0 menggunakan Gradle, bukan Ant untuk membangun secara default. Untuk menggunakan Ant, bukan Gradle, Anda dapat menambahkan ini ke config.xml:
Saat menggunakan Gradle, informasi penandatanganan keystore sekarang harus pergi ke lokasi baru ( seperti yang diuraikan dalam posting ini ). Buat file baru bernama ' release-signing.properties ' di folder yang sama dengan file "build.gradle" dan letakkan di dalam konten berikut:
sumber
Anda dapat mencoba perintah ini, itu harus membangun dan menjalankan aplikasi (jadi .apk harus dibuat):
phonegap local run android
sumber