Cara mengaktifkan Penandatanganan Aplikasi Google Play

113

Saya rasa banyak pengembang mencoba mempelajari lebih lanjut tentang fitur Penandatanganan Aplikasi Google Play baru yang disajikan di Google I / O 2017.

Kemampuan menyimpan keystore untuk menandatangani aplikasi di dalam Google Play menghemat upaya untuk menyimpan keystore dengan aman dan dapat membantu sistem untuk mengoptimalkan APK yang disajikan ke setiap perangkat, berdasarkan karakteristik perangkat keras dan OS.

Anda dapat membaca lebih lanjut tentang topik ini dalam dokumentasi resmi di sini: https://developer.android.com/studio/publish/app-signing.html#google-play-app-signing .

Dengan jawaban berikut, saya akan menjelaskan sedikit lebih baik langkah-langkah yang perlu Anda ikuti untuk mengupload keystore asli Anda dan cara membuat keystore unggahan baru, yang Anda perlukan untuk menandatangani APK Anda mulai saat ini dan seterusnya.

MatPag
sumber

Jawaban:

189

Panduan ini ditujukan untuk pengembang yang sudah memiliki aplikasi di Play Store. Jika Anda memulai dengan aplikasi baru, prosesnya jauh lebih mudah dan Anda dapat mengikuti pedoman paragraf "Aplikasi baru" dari sini

Prasyarat bahwa 99% pengembang sudah memiliki :

  1. Android Studio

  2. JDK 8 dan setelah instalasi Anda perlu mengatur variabel lingkungan di ruang pengguna Anda untuk menyederhanakan perintah terminal. Di Windows x64 Anda perlu menambahkan ini: C:\Program Files\Java\{JDK_VERSION}\binke Pathvariabel lingkungan. (Jika Anda tidak tahu bagaimana melakukan ini, Anda dapat membaca panduan saya untuk menambahkan folder ke Pathvariabel lingkungan Windows 10 ).

Langkah 0 : Buka konsol pengembang Google Play, lalu buka Manajemen Rilis -> Penandatanganan Aplikasi .

masukkan deskripsi gambar di sini

Terima TOS Penandatanganan Aplikasi.

masukkan deskripsi gambar di sini

Langkah 1 : Unduh Alat PEPK dengan mengklik tombol yang sama dengan gambar di bawah

masukkan deskripsi gambar di sini

Langkah 2 : Buka terminal dan ketik:

java -jar PATH_TO_PEPK --keystore = PATH_TO_KEYSTORE --alias = ALIAS_YOU_USE_TO_SIGN_APK --output = PATH_TO_OUTPUT_FILE --encryptionkey = GOOGLE_ENCRYPTION_KEY

Legenda:

  • PATH_TO_PEPK = Jalur ke pepk.jar yang Anda unduh pada Langkah 1 , bisa menjadi sesuatu seperti C:\Users\YourName\Downloads\pepk.jaruntuk pengguna Windows.
  • PATH_TO_KEYSTORE = Jalur ke keystore yang Anda gunakan untuk menandatangani APK rilis. Bisa berupa file dengan tipe * .keystore atau * .jks atau tanpa ekstensi. Sesuatu seperti C:\Android\mykeystoreatauC:\Android\mykeystore.keystore dll ...
  • ALIAS_YOU_USE_TO_SIGN_APK = Nama alias yang Anda gunakan untuk menandatangani APK rilis.
  • PATH_TO_OUTPUT_FILE = Jalur dari file keluaran dengan ekstensi .pem, sepertiC:\Android\private_key.pem
  • GOOGLE_ENCRYPTION_KEY = Kunci enkripsi ini harus selalu sama. Anda dapat menemukannya di halaman Penandatanganan Aplikasi, salin dan tempel. Harus dalam bentuk ini:eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

Contoh:

java -jar "C: \ Users \ YourName \ Downloads \ pepk.jar" --keystore = "C: \ Android \ mykeystore" --alias = myalias --output = "C: \ Android \ private_key.pem" - enkripsikey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656acd48b9de

Tekan Enter dan Anda harus memberikannya secara berurutan:

  1. Kata sandi keystore
  2. Kata sandi alias

Jika semuanya sudah beres, Anda sekarang akan memiliki file di folder PATH_TO_OUTPUT_FILE yang disebut private_key.pem .

Langkah 3 : Unggah file private_key.pem dengan mengklik tombol yang sama dengan gambar di bawah

masukkan deskripsi gambar di sini

Langkah 4 : Buat file keystore baru menggunakan Android Studio.

ANDA AKAN MEMBUTUHKAN KEYSTORE INI DI MASA DEPAN UNTUK MENANDATANGANI RILIS BERIKUTNYA APLIKASI ANDA, JANGAN LUPA PASSWORDS

Buka salah satu proyek Android Anda (pilih salah satu secara acak). Pergi ke Build -> Generate Signed APK dan tekan Create new .

masukkan deskripsi gambar di sini

Sekarang Anda harus mengisi kolom yang wajib diisi.

Jalur penyimpanan kunci mewakili keystore baru yang akan Anda buat, pilih folder dan nama menggunakan ikon 3 titik di sebelah kanan, saya C:\Android\upload_key.jkspilih (ekstensi .jks akan ditambahkan secara otomatis)

CATATAN: Saya menggunakan uploadnama alias baru tetapi jika sebelumnya Anda menggunakan keystore yang sama dengan alias berbeda untuk menandatangani aplikasi yang berbeda, Anda harus memilih nama alias yang sama dengan yang Anda miliki sebelumnya di keystore asli.

masukkan deskripsi gambar di sini

Tekan OK setelah selesai, dan sekarang Anda akan memiliki upload_key.jkskeystore baru . Anda dapat menutup Android Studio sekarang.

Langkah 5 : Kami perlu mengekstrak sertifikat unggahan dari upload_key.jkskeystore yang baru dibuat . Buka terminal dan ketik:

keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE

Legenda:

  • UPLOAD_KEYSTORE_PATH = Jalur keystore unggahan yang baru saja Anda buat. Dalam kasus iniC:\Android\upload_key.jks .
  • UPLOAD_KEYSTORE_ALIAS = Alias ​​baru yang terkait dengan keystore unggahan. Dalam kasus iniupload .
  • PATH_TO_OUTPUT_FILE = Jalur ke file keluaran dengan ekstensi .pem. Sesuatu seperti C:\Android\upload_key_public_certificate.pem.

Contoh:

keytool -export -rfc -keystore "C: \ Android \ upload_key.jks" -alias upload -file "C: \ Android \ upload_key_public_certificate.pem"

Tekan Enter dan Anda harus memberikan kata sandi keystore.

Sekarang jika semuanya sudah beres, Anda akan memiliki file di folder PATH_TO_OUTPUT_FILE yang dipanggil upload_key_public_certificate.pem.

Langkah 6 : Unggah upload_key_public_certificate.pemfile dengan mengklik tombol yang identik dengan gambar di bawah ini

masukkan deskripsi gambar di sini

Langkah 7 : Klik tombol DAFTAR di akhir halaman Penandatanganan Aplikasi.

masukkan deskripsi gambar di sini

Sekarang, setiap APK rilis baru harus ditandatangani dengan upload_key.jkskeystore dan alias yang dibuat pada Langkah 4 , sebelum diunggah di konsol Pengembang Google Play.

Sumber Daya Lainnya:

Tanya Jawab

T: Saat saya mengupload APK yang ditandatangani dengan keystore upload_key baru, Google Play menampilkan error seperti: Anda mengupload APK yang tidak ditandatangani. Anda perlu membuat APK yang ditandatangani .

J: Centang untuk menandatangani APK dengan kedua tanda tangan (V1 dan V2) saat membuat APK rilis. Baca di sini untuk lebih jelasnya.

DIPERBARUI

Langkah 4,5,6 adalah membuat kunci unggah yang bersifat opsional untuk aplikasi yang sudah ada

"Kunci unggah (opsional untuk aplikasi yang sudah ada): Kunci baru yang Anda buat selama pendaftaran dalam program ini. Anda akan menggunakan kunci unggah untuk menandatangani semua APK di masa mendatang sebelum mengunggahnya ke Konsol Play." https://support.google.com/googleplay/android-developer/answer/7384423

MatPag
sumber
3
Panduan Anda sangat membantu! Mereka harus menaruhnya di situs resmi lol Nama path untuk contoh Anda tidak memiliki tanda kutip "_" yang akan membuat kesalahan pada Konsol W10
NukeouT
3
Tanda kutip diperlukan hanya jika Anda memiliki setidaknya satu spasi di dalam jalur Anda, tetapi ini adalah cara kerja setiap perintah konsol. Jadi, Anda harus menggunakan tanda kutip jika jalur Anda adalah: "C:\My Path\MyName"tetapi tidak jika jalurnya adalah C:\MyPath\MyName. Btw terima kasih :)
MatPag
1
@layth Membuat keystore baru adalah Step 4panduannya: D
MatPag
1
Saya melakukan itu tetapi ketika saya mendapatkan dialog keystore baru jalur keystore dan bidang kata sandinya kosong jadi saya mengarahkan mereka ke keystore lama dan memasukkan kata sandi lamanya - btw saat ini macet di "keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS - file PATH_TO_OUTPUT_FILE "terus mengeluh bahwa ia tidak tahu apa arti keytool. Saya mencoba menambahkan "C: \ Program Files \ Java \ jdk1.8.0_25 \ bin \ keytool.exe" tetapi tidak berhasil, mungkin karena saya tidak tahu persis di mana harus meletakkannya ..
NukeouT
9
Sepertinya Google mengubah prosedurnya, karena saya tidak dapat menemukan Alat PEPK lagi.
Andrea Motto
31

Ada solusi yang jauh lebih sederhana yang akan memakan waktu satu menit.

  1. Di konsol google play, pilih Manajemen rilis -> Penandatanganan aplikasi
  2. Pilih opsi pertama, yang dengan Hasilkan kunci pribadi terenkripsi dengan Android Studio (atau sesuatu seperti itu; saya tidak dapat kembali untuk melihat halaman itu lagi)
  3. Di Android Studio, buat Android App Bundle Anda (file .aap) dari Build -> Generate Signed Bundle / APK ... , pilih opsi Android App Bundle dan jangan lupa untuk mencentang Export Encrypted key (diperlukan untuk mendaftarkan aplikasi Anda Google Play App penandatanganan) opsi. Jika Anda tidak memiliki keystore yang dibuat, buat satu ad-hoc.
  4. Sekarang bagian yang "rumit". Setelah .aap dibuat, Android Studio akan memunculkan notifikasi di pojok kanan bawah yang berisi jalur ke lokasi tempat file .aap disimpan. Dalam pemberitahuan yang sama, jika Anda akan mengembangkannya, Anda akan menemukan tautan lain ke jalur tempat kunci pribadi disimpan (disebut private_key.pepk ). Jika Anda melewatkan notifikasi ini, jangan khawatir, cukup buka jendela Event Log dengan mengklik tombol Event Log di sisi kanan bawah dan Anda akan menemukan info yang sama. Buka lokasi itu, bagi saya adalah C: \ Users \ yourUser \ .android

masukkan deskripsi gambar di sini

  1. Kembali ke browser dan tekan tombol APP SIGNING PRIVATE KEY dan telusuri ke lokasi kunci pribadi di komputer Anda.

Selesai!

Sekarang Anda dapat mengupload rilis yang Anda buat sebelumnya :) Selamat mencoba!

Marius Tanasoiu
sumber
1
Itu jawaban terbaik dan lebih sederhana
Simon
Menyelamatkan saya begitu banyak waktu dan yang lebih penting ketenangan pikiran
Meenohara
Saya tidak mendapatkan opsi ini Ekspor kunci Terenkripsi (diperlukan untuk mendaftarkan aplikasi Anda penandatanganan Aplikasi Google Play).
Jarvis
Saya akan sangat menghargai penjelasan yang lebih lengkap dari poin 5 - Saya tidak melihat tombol ini, di mana, mungkin tata letak telah berubah pada pembaruan terkini?
androidneil
ok bagus sekarang saya ingin penasaran tentang itu pada update selanjutnya apa yang harus dilakukan ?? seperti apakah kita membutuhkan kunci .pepk lagi atau kita harus menandatangani versi 2 menggunakan kunci yang sama atau kunci .pepk pribadi baru tolong bantu
Sunil Chaudhary
15

Saat Memigrasi file paket aplikasi Android (APK) ke Android App Bundle (AAB), menerbitkan aplikasi ke Play Store saya menghadapi masalah ini dan diselesaikan seperti ini di bawah ...

Saat membuat .aabfile, Anda akan ditanya lokasi untuk menyimpan jalur ekspor kunci seperti di bawah ini:

masukkan deskripsi gambar di sini
masukkan deskripsi gambar di sini Pada gambar kedua Anda menemukan Lokasi jalur ekspor kunci terenkripsi di mana .pepk kami akan disimpan di folder tertentu saat membuat file .aab.

Setelah Anda masuk ke Konsol Google Play dengan kredensial play store: pilih proyek Anda dari sisi kiri pilih opsi Penandatanganan Aplikasi Manajemen Rilis >> Penandatanganan Aplikasi masukkan deskripsi gambar di sini

Anda akan menemukan jendela Sertifikasi Penandatanganan Aplikasi Google MENERIMAnya.

Setelah itu Anda akan menemukan tiga radio button pilih **

Unggah kunci yang diekspor dari tombol radio Android Studio

**, itu akan memperluas Anda tombol APP SIGNING PRIVATE KEY seperti di bawah ini

masukkan deskripsi gambar di sini

klik tombol dan pilih .pepkfile (Kami Menyimpan sambil membuat .aabfile seperti di atas)

Baca semua opsi lainnya dan kirimkan.

Setelah Berhasil, Anda dapat kembali ke rilis aplikasi dan menjelajahi file .aab dan menyelesaikan RollOut ...

@Agilpura

Ambilpura Sunil Kumar
sumber
ok bagus sekarang saya ingin penasaran tentang itu pada update selanjutnya apa yang harus dilakukan ?? seperti apakah kita membutuhkan kunci .pepk lagi atau kita harus menandatangani versi 2 menggunakan kunci yang sama atau kunci .pepk pribadi baru tolong bantu
Sunil Chaudhary
Sesuai pemahaman saya, tidak perlu membuat untuk lain kali, Anda dapat menggunakan tombol .pepk lama ....
Ambilpura Sunil Kumar
Bagaimana Anda menggunakan .pepk untuk pembaruan? Saya berhasil menggunakan penandatanganan aplikasi Google saat mengunggah aplikasi saya, tetapi sekarang saya mencoba untuk mendorong pembaruan dan tidak tahu caranya @AmbilpuraSunilKumar
nt95
Sama disini. Saya baru saja mengunggah abb ke play store dan mengabaikan file .pepk sepenuhnya. Alangkah baiknya mengetahui apa sebenarnya kegunaannya dan apa yang harus dilakukan saat memperbarui aplikasi.
Julian Eggers
4

Saya harus melakukan hal berikut:

  1. Buat aplikasi di konsol google play masukkan deskripsi gambar di sini

2. Buka Rilis aplikasi -> Kelola produksi -> Buat rilis

3. Klik lanjutkan di Google Play App Signing masukkan deskripsi gambar di sini

4. Buat sertifikat upload dengan menjalankan "keytool -genkey -v -keystore c: \ path \ to \ cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000"

5. Tanda tangani apk Anda dengan sertifikat yang dibuat (c: \ path \ to \ cert.keystore)

6. Unggah apk yang ditandatangani di rilis Aplikasi -> Kelola produksi -> Edit rilis

7. Dengan mengunggah apk, sertifikat yang dihasilkan pada langkah 4 telah ditambahkan ke sertifikat Penandatanganan Aplikasi dan menjadi sertifikat penandatanganan Anda untuk semua build mendatang.

itu palsu
sumber
1
Saya melakukan persis seperti ini tetapi proses masuk google dari aplikasi saya tidak berfungsi jika saya menginstal aplikasi melalui Google Play Store. * Tetapi * jika saya mengunduh apk dari halaman manajemen rilis dan menginstalnya secara manual ke emulator / perangkat saya, itu berfungsi. Tahu apa yang saya lewatkan?
Raghudevan Shankar
Saya mencari di mana-mana selama sekitar 3 jam dan Anda akhirnya menyelamatkan saya!
Oliver Dixon
3

Jika Anda menggunakan Fabric untuk rilis beta publik (ditandatangani dengan konfigurasi prod), JANGAN GUNAKAN Penandatanganan Aplikasi Google Play. Anda harus setelah membangun dua apk yang ditandatangani!

Ketika Anda mendistribusikan ke lebih banyak toko bermain (samsung, amazon, xiaomi, ...) Anda harus membangun lagi dua apk yang ditandatangani.

Jadi berhati-hatilah dengan Penandatanganan Aplikasi Google Play.

Tidak mungkin untuk mengembalikannya: / dan Google Play tidak setelah menerima apk yang ditandatangani dengan kunci produksi. Setelah mengaktifkan Google Play App Signing, hanya upload kunci yang diterima ...

Ini benar-benar memperumit distribusi CI ...

Masalah berikutnya dengan peningkatan: https://issuetracker.google.com/issues/69285256

mtrakal.dll
sumber
1
DON'T USEJenis komentar huruf besar tebal berbahaya. Dapatkah Anda menjelaskan masalah dan solusi yang disarankan secara detail? Apakah tidak ada solusi sama sekali? Apakah sulit untuk menandatangani APK dua kali untuk Fabric?
Gokhan Arik
1
Tidak terlalu sulit untuk menandatangani APK dua kali, tetapi seperti yang saya jelaskan, Anda harus membangun dua (atau lebih) APK yang tidak identik (jadi Anda menguji pada file Fabric Beta yang berbeda dari yang akan dipublikasikan ke Play Store). Ini kehilangan titik pengujian produksi yang dibangun di atas penguji beta ... Anda sedang menguji file lain :). Ini hanya peringatan bagi orang-orang yang memiliki CI / CD yang kompleks bahwa mereka harus
memotongnya
2
Perhatikan bahwa Google Play sekarang menerima APK yang ditandatangani dengan kunci produksi bahkan setelah mendaftar dalam penandatanganan Aplikasi.
Pierre
2

Lakukan hal berikut:

"CREATE APPLICATION" having the same name which you want to upload before.
Click create.
After creation of the app now click on the "App releases"
Click on the "MANAGE PRODUCTION"
Click on the "CREATE RELEASE"
Here you see "Google Play App Signing" dialog.
Just click on the "OPT-OUT" button.
It will ask you to confirm it. Just click on the "confirm" button
Sterling Diaz
sumber
Setelah ini dapatkah saya menguji dalam pembelian aplikasi dan layanan bermain seperti sebelumnya? Apakah Anda mendapat pengalaman tentang ini? Karena bahkan saya tidak suka melakukan langkah berat.
Siddharth
1
Bukan jawaban yang tepat untuk "Cara Mengaktifkan Penandatanganan Aplikasi Google Play" ...
Ben Madsen
2
Dan apa yang Anda sarankan sebagai cara yang tepat untuk melakukannya?
Sterling Diaz