Android Studio - debug keystore

107

Apakah Android Studio menandatangani build debug? Jika ya, di mana keystore yang digunakan untuk melakukannya?

fasteque
sumber
1
Itu tetap masuk karena hanya build yang ditandatangani yang dapat diinstal.
Alexander Kulyakhtin
3
Saya rasa ini adalah pertanyaan pemrograman yang valid. Ini secara langsung berkaitan dengan toolchain yang digunakan saat mengembangkan aplikasi Android.
Austyn Mahoney
@Prachi bagaimana ini bisa menjadi duplikat dari pertanyaan yang diajukan lebih dari 3 tahun kemudian? Mungkin yang satunya adalah duplikat dari ini.
puasa

Jawaban:

179

Itu ada di lokasi yang sama: ~/.android/debug.keystore

pengguna2396466
sumber
5
Bukankah di ~ / .android saja?
Eugene Mymrin
14
keytool -list -v -keystore ~ ​​/ .android / debug.keystore
jturolla
5
Ini adalah versi windows dari perintah keytool: keytool -exportcert -alias androiddebugkey -keystore C: \ Users \ <User> \ .android \ debug.keystore -list -v
Simon
12
Sandi default adalah "android" dan alias kunci adalah "androiddebugkey".
naXa
1
Dan kata sandi default untuk androiddebugkey juga "android".
kibitzerCZ
64

Jika Anda menggunakan Windows, mungkin lokasinya seperti ini:

C: \ User \ YourUser \ .android \ debug.keystore

Fernando JS
sumber
30

Anda dapat menentukan keystore debug Anda sendiri jika mau. Solusi ini juga memberi Anda kemampuan untuk menyimpan kunci Anda di luar direktori proyek serta menikmati otomatisasi dalam proses penandatanganan. Ya, Anda dapat pergi ke File -> Project Structuredan menetapkan keystore dan sandi penandatanganan di Signingtab tetapi itu akan menempatkan entri teks biasa ke dalam file gradle.build Anda yang berarti rahasia Anda mungkin terungkap (terutama dalam komitmen repositori). Dengan solusi ini, Anda mendapatkan kontrol untuk menggunakan keystore Anda sendiri dan keajaiban otomatisasi selama proses debug dan rilis.

1) Buat properti gradle.properties (jika Anda belum memilikinya).

Lokasi file ini bergantung pada OS Anda:

   /home/<username>/.gradle/ (Linux)
   /Users/<username>/.gradle/ (Mac)
   C:\Users\<username>\.gradle (Windows)

2) Tambahkan entri yang menunjuk ke yourprojectname.propertiesfile. (contoh untuk Windows)

yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties

3) Buat yourprojectname.propertiesfile di lokasi yang Anda tentukan di Langkah 2 dengan informasi berikut:

keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password

4) Ubah gradle.buildfile Anda agar mengarah ke yourprojectname.propertiesfile untuk menggunakan variabel.

if(project.hasProperty("yourprojectname.properties")
        && new File(project.property("yourprojectname.properties")).exists()) {

    Properties props = new Properties()
    props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))

    android {
        signingConfigs {
            release {
                keyAlias 'release'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
            debug {
                keyAlias 'debug'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
        }
        compileSdkVersion 19
        buildToolsVersion "20.0.0"
        defaultConfig {
            applicationId "your.project.app"
            minSdkVersion 16
            targetSdkVersion 17
        }
        buildTypes {
            release {
            }
        }
    }

}

dependencies {
    ...
}

5) Selamat menikmati! Sekarang semua kunci Anda akan berada di luar root direktori, namun Anda masih memiliki kesenangan otomatisasi untuk setiap build.

Jika Anda mendapatkan kesalahan dalam file gradle.build Anda tentang variabel "props" itu karena Anda tidak mengeksekusi blok "android {}" di dalam ifkondisi pertama di mana propsvariabel ditetapkan jadi cukup pindahkan seluruh android {... } ke dalam kondisi di mana variabel props diberikan kemudian coba lagi.

Saya menggabungkan langkah-langkah ini dari informasi yang ditemukan di sini dan di sini .

Max Worg
sumber
1
Mengenai "2) Tambahkan entri ...". Tambahkan entri ke mana?
VikingGlen
menyukai ide otomatisasi build
Khurram Shehzad
Terima kasih, ini adalah cara yang bagus untuk menyimpan kata sandi produksi di luar kendali sumber (sehingga tidak tersedia untuk semua pengembang)!
palsu
15

Jalur file debug.keystore Android Studio bergantung pada variabel lingkungan ANDROID_SDK_HOME.

Jika ANDROID_SDK_HOME sudah ditentukan, maka file ditempatkan di subfolder SDK bernama .android .
Jika tidak ditentukan, maka keystore ditempatkan di jalur beranda pengguna di subfolder yang sama:
- % HOMEPATH% \. Android \ di Windows
- $ HOME / .android / di Linux

Spatz
sumber
1
Bisakah Anda menjelaskan lebih lanjut jawaban Anda dengan menambahkan sedikit lebih banyak deskripsi tentang solusi yang Anda berikan?
abarisone
mengapa 87 orang mengira itu ada di ~ / .android / debug.keystore, mereka semua tidak memiliki variabel lingkungan bernama "ANDROID_SDK_HOME" ???
IloveIniesta
Ini sangat membantu. Terima kasih banyak
Rahul
4

Inilah cara saya akhirnya membuat file ~ / .android / debug.keystore.

Pertama beberapa latar belakang. Saya mendapat laptop perjalanan baru. Android Studio yang diinstal. Mengkloning proyek android saya dari git hub. Proyek tidak akan berjalan. Akhirnya saya tahu bahwa debug.keystore tidak dibuat ... dan saya tidak tahu cara membuat Android Studio untuk membuatnya.

Akhirnya, saya membuat proyek kosong baru ... dan itu membuat debug.keystore!

Semoga ini bisa membantu orang lain yang memiliki masalah ini.

Loren
sumber
1

Di Mac, Anda akan menemukannya di sini: /Users/$username/.android

Ruchita
sumber
1

Jika Anda menggunakan Windows, Anda akan menemukannya sebagai berikut: File -> Project Structure -> Facets

pilih proyek Android Anda dan di jendela "Facet 'Android'" klik TAB "Packaging", Anda akan menemukan apa yang Anda inginkan

万 文 龙
sumber
2
Tidak ada menu seperti 'Facets'
IgorGanapolsky