Saya tidak pernah menyetel sandi apa pun ke keystore dan alias saya, jadi bagaimana cara membuatnya?

138

Ketika saya membaca beberapa posting di Internet mempelajari lebih lanjut tentang menandatangani aplikasi Android Anda , saya mendapat posting seperti cara menandatangani aplikasi , dan sesuatu tentang bagaimana jika Anda kehilangan file keystore atau kata sandi.

Pertanyaan yang saya tanyakan di sini adalah, saya tidak pernah membuat keystore, atau aliasnya, atau kata sandinya, jadi bagaimana mungkin saya bisa melupakannya?

Saya tahu bahwa untuk Android kami menggunakan kata sandi android , jadi, jika kata sandi secara default android bagaimana orang bisa melupakannya? (Saya yakin pasti ada cara lain untuk membuat keystore baru).

Terakhir, jika android adalah kata sandi default, apa alias defaultnya?

Anas Azeem
sumber

Jawaban:

414

Masuk dalam Mode Debug

Alat build Android menyediakan mode penandatanganan debug yang memudahkan Anda mengembangkan dan men-debug aplikasi, sambil tetap memenuhi persyaratan sistem Android untuk menandatangani APK Anda. Saat menggunakan mode debug untuk membuat aplikasi Anda, alat SDK memanggil Keytool untuk secara otomatis membuat keystore dan kunci debug. Kunci debug ini kemudian digunakan untuk menandatangani APK secara otomatis, jadi Anda tidak perlu menandatangani paket dengan kunci Anda sendiri.

Alat SDK membuat keystore / kunci debug dengan nama / sandi yang telah ditentukan:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

Jika perlu, Anda dapat mengubah lokasi / nama keystore / kunci debug atau menyediakan keystore / kunci debug khusus untuk digunakan. Namun, keystore / kunci debug khusus apa pun harus menggunakan nama keystore / kunci dan sandi yang sama dengan kunci debug default (seperti dijelaskan di atas). (Untuk melakukannya di Eclipse / ADT, buka Windows> Preferensi> Android> Build .)

Perhatian: Anda tidak dapat merilis aplikasi Anda ke publik ketika ditandatangani dengan sertifikat debug.

Sumber: Developer.Android

Komunitas
sumber
Itu sangat informatif. Menerima itu sebagai jawaban. Satu pertanyaan lagi, Pak. Apakah satu keystore memiliki banyak kunci atau keystore dan kuncinya sama?
Anas Azeem
Keystore mungkin memiliki banyak kunci dan Anda harus membuat alias yang berbeda untuk kunci yang menurut saya sekarang sudah jelas perbedaan antara key dan keystore. Keystore adalah wadah kunci
Saya menggunakannya untuk menandatangani apk yang tidak bertanda tangan Saya tidak dapat menginstal: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~ ​​/ .android / debug.keystore my_unsigned.apk androiddebugkey Terima kasih
Ivan Morgillo
@ user2730944 Bisakah Anda merayakan bagaimana Anda menemukan kata sandi "android", dari sumber yang Anda berikan yang tidak terbukti?
spin_eight
22

jika Anda ingin mengkonfigurasinya dalam gradle, tampilannya akan seperti ini

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}
Bahkan Cheng
sumber
3

Ketika kita menjalankan aplikasi di eclipse apk menghasilkan tanda secara default Keystore yang disediakan oleh android.

Tetapi jika Anda ingin mengunggah aplikasi Anda di play store, Anda perlu membuat keystore sendiri. Eclipse sudah menyediakan antarmuka GUI untuk membuat keystore baru. Dan Anda juga dapat membuat keystore melalui baris perintah.

alias default adalah

androiddebugkey
Biraj Zalavadia
sumber
Terima kasih atas jawaban Anda, tetapi tahu apa sandi untuk kuncinya, karena kata sandi untuk keystore adalah "android" (jika saya tidak salah)
Anas Azeem
@AnasAzeem melihat jawaban saya
3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

Saya menggunakan informasi ini dan berhasil membuat APK yang Ditandatangani.

Rubel Hasan
sumber
2

Lebih baik dari semua opsi, Anda dapat mengatur signingConfigmenjadi sama dengan Anda debug.signingConfig. Untuk melakukan itu, Anda hanya perlu melakukan hal berikut:

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

Dengan itu Anda tidak perlu tahu di mana debug.keystore, aplikasi akan berfungsi untuk semua tim, bahkan jika seseorang menggunakan lingkungan yang berbeda.

berambut cokelat
sumber
Luar biasa! Ini adalah cara singkat untuk membuat tipe build debugProguard dapat diinstal.
Jerry101
1

Semua jawaban ini dan MASIH hanya ada satu yang hilang. Saat Anda membuat kredensial autentikasi di bagian Google API dari konsol dev, pastikan (terutama jika ini adalah yang pertama bagi Anda) bahwa Anda telah mengklik opsi 'layar persetujuan'. Jika Anda tidak memiliki 'judul' dan bidang lain yang wajib diisi, panggilan akan gagal dengan opsi ini.

pengguna1318747
sumber