Android için anahtar deposu oluşturma adımları nelerdir?
Uygulamamda google maps kullanmam gerekiyor ve hangi adımları atladığımı bilmiyorum. Lütfen bana belirli ayrıntılı adımları sağlayın (kılavuzlardan anlamadım).
Android için anahtar deposu oluşturma adımları nelerdir?
Uygulamamda google maps kullanmam gerekiyor ve hangi adımları atladığımı bilmiyorum. Lütfen bana belirli ayrıntılı adımları sağlayın (kılavuzlardan anlamadım).
Yanıtlar:
Başlıktaki soruyu cevaplamak için herhangi bir standart JDK dağıtımıyla gelen ve adresinde bulunabilecek Java Keytool yardımcı programı ile bir anahtar deposu oluşturursunuz %JAVA_HOME%\bin
. Windows'da bu genellikle olurdu C:\Program Files\Java\jre7\bin
.
Windows'ta bir komut penceresi açın ve bu dizine geçin ve böyle bir komut girin
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool, anahtar deposu için parolalar, Ayırt Edici Ad alanları ve ardından anahtarınızın parolasını girmenizi ister. Daha sonra anahtar deposunu bulunduğunuz dizinde my-release-key.keystore adlı bir dosya olarak oluşturur. Anahtar deposu ve anahtar, girdiğiniz parolalarla korunur. Anahtar deposu 10000 gün boyunca geçerli olan tek bir anahtar içerir. Takma ad, daha sonra uygulamanızı imzalarken bu anahtar deposuna başvurmak için kullanacağınız bir addır.
Keytool hakkında daha fazla bilgi için şu adresteki belgelere bakın: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
ve Android uygulamalarını imzalama hakkında daha fazla bilgi için şu adrese gidin: http://developer.android.com/tools/publishing/app-signing.html
keytool -genkey -v -keystore debug.keystore -storepass android -alias android -keypass android -keyalg RSA -keysize 2048 -validity 10000
. Sonra Firebase koymak gerekir SHA-1 üretmek için:keytool -list -v -keystore debug.keystore -alias android -storepass android -keypass android
Uygulamanızı Android Studio'da yayın modunda imzalamak için şu adımları izleyin:
1- Menü çubuğunda Oluştur> İmzalı APK Oluştur'u tıklayın.
2-İmzalı APK Oluştur Sihirbazı penceresinde, yeni bir anahtar deposu oluşturmak için Yeni oluştur'a tıklayın. Zaten bir anahtar deponuz varsa, 4. adıma gidin.
3- Yeni Anahtar Deposu penceresinde, şekilde gösterildiği gibi gerekli bilgileri sağlayın Anahtarınız en az 25 yıl geçerli olmalıdır, böylece uygulamanızın ömrü boyunca aynı anahtarla uygulama güncellemelerini imzalayabilirsiniz.
4- İmzalı APK Oluştur Sihirbazı penceresinde, bir anahtar deposu, özel bir anahtar seçin ve her ikisi için şifreleri girin. Ardından İleri'ye tıklayın.
5- Bir sonraki pencerede, imzalı APK için bir hedef seçin ve Son'a tıklayın.
http://developer.android.com/tools/publishing/app-signing.html
Kabukta tek bir satır komutunu kullanarak bir .keystore nasıl oluşturulacağımı delirdim , bu yüzden başka bir uygulamadan çalıştırabilirim. Bu şekilde:
echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
dname , .keystore içindeki uygulama için benzersiz bir tanımlayıcıdır
takma ad .keystore içinde tek bir varlık olarak uygulamanın tanımlayıcısı (çok sayıda olabilir)
.ks
)Benim için gerçekten iyi çalıştı, konsolda başka bir şey istemiyor, sadece dosyayı oluşturuyor. Daha fazla bilgi için bkz. Keytool - Anahtar ve Sertifika Yönetim Aracı .
/path/file.keystore
ve storepass parametresi ile işaret.
jks
genel olarak java için resmi anahtar deposu uzantısıdır , ancak bunun yerine android uygulamalarıkeystore
için kullanılması önerilir .
Komut satırından anahtar deposu dosyası oluşturun:
Komut satırını aç:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved
// (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
C:\Windows\system32> keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
Enter> Sizden şifre isteyecektir> şifreyi girin (görünmez olacaktır)
Enter keystore password:
Re-enter new password:
Enter> Detayınızı soracaktır.
What is your first and last name?
[Unknown]: {AB} // [Your Name / Name of Signer]
What is the name of your organizational unit?
[Unknown]: {Self} // [Your Unit Name]
What is the name of your organization?
[Unknown]: {Self} // [Your Organization Name]
What is the name of your City or Locality?
[Unknown]: {INDORE} // [Your City Name]
What is the name of your State or Province?
[Unknown]: {MP} //[Your State]
What is the two-letter country code for this unit?
[Unknown]: 91
Enter> Y girin
Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
[no]: Y
Enter> Şifreyi tekrar girin.
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
Enter key password for <index> (RETURN if same as keystore password):
Re-enter new password:
[Depolama C: /index.keystore]
Oluşturduğunuz anahtar deposu dosyanızla android paketinizi .apk dosyasına aktarın
Dışa aktarmak istediğiniz Pakete sağ tıklayın ve dışa aktarmayı seçin
Android Uygulamasını Dışa Aktar> İleri'yi seçin
Sonraki
Mevcut Anahtar Deposunu Kullan> .keystore dosyasına gözat> şifre gir> İleri'yi seçin.
[.keystore/.jks]
Stüdyoda anahtar deposu oluştur ...
Click Oluştur (ALT + B) > APK Signed Üret ...
Yeni oluştur'u tıklayın . (ALT + C)
Anahtar deposu yoluna (SHIFT + ENTER) göz atın> Yol Seç> Adı girin> Tamam
.jks/keystore
Dosyanızla
ilgili ayrıntıları doldurun
Sonraki
Dosyanız
Studio Ana Parolasını Girin (Bilmiyorsanız SIFIRLA) > Tamam
* Hedef Klasör *> Derleme Türü'nü seçin
release : for publish on app store
debug : for debugging your application
Son'u tıklayın
Yapıldı !!!
Bu eğitim:
http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html
bir anahtar deposu oluşturmak zorunda kaldığım ilk kez benim için çok yardımcı oldu. Çok basit ama developer.android.com'daki talimatlar biraz fazla kısa.
Emin olmadığım kısım nereye kaydedileceği ve anahtar deposu dosyasına hangi adın verileceği idi .
Nereye koyduğunuz önemli değil gibi görünüyor sadece güvenli tutmak ve bir dizi yedek tutmak emin olun. Sadece uygulama dizinime koydum
İstediğiniz bir şeyin olabileceği yere "something.keystore" adını verin. App_name.keystore kullandım , burada app_name uygulamamın adıydı.
Bir sonraki kısım takma adın ne olacağıydı. Yine önemli görünmüyor bu yüzden yine app_name'i tekrar kullandım. Parolaları daha önce kullandığınız gibi tutun. Diğer alanları doldurun ve işiniz bitti.
Hata ayıklama anahtar deposunu oluşturmak için bu kılavuzu izledim .
Komut:
keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
Bilmeniz gereken ilk şey, Debug veya Release modunda olup olmadığınızdır. "İki derleme modu vardır: hata ayıklama modu ve yayın modu. Uygulamanızı geliştirirken ve test ederken hata ayıklama modunu kullanırsınız. Uygulamanızın doğrudan dağıtabileceğiniz bir yayın sürümünü oluşturmak istediğinizde yayın modunu kullanırsınız. veya Google Play gibi bir uygulama pazarında yayınlayabilirsiniz. "
Hata ayıklama modundaysanız aşağıdakileri yaparsınız ...
A. Terminali açın ve yazın:
keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v
Not: Eclipse için hata ayıklama anahtar deposu genellikle ~ / .android / debug.keystore ... adresinde bulunur.
B. bir şifre istendiğinde sadece "android" girin ...
C. Release modundaysanız, aşağıdaki talimatları izleyin ...
http://developer.android.com/tools/publishing/app-signing.html <- bu bağlantı bilmeniz gereken her şeyi açıklamaktadır.
İmzalı bir APK dışa aktararak anahtar deponuzu oluşturabilirsiniz. İmzalı bir APK'yı dışa aktarmaya / oluşturmaya çalıştığınızda, bir anahtar deposu isteyecektir.
Mevcut anahtar deponuzu seçebilir veya yeni anahtar deposu oluştur'u tıklayarak kolayca yeni bir anahtar deposu oluşturabilirsiniz
Burada çok kullanışlı ve anahtar deponuzu nasıl oluşturacağınıza ve imzalı bir APK oluşturduğunuza dair iyi açıklanmış bir bağlantı
Bu bağlantı Android Studio ile nasıl yapılacağını açıkladı, ancak hatırlıyorsam Eclipse'de oldukça benzer
DİKKAT ET
Anahtar deponuzu oluşturduktan sonra, güvenli bir yerde saklayın, çünkü yeni bir imzalı APK'yı yeniden oluşturmak için ihtiyacınız olacak.
Sadece gradle ile otomatik yol önermek istiyorum
** Son komutta anahtar deposu için en az bir ek parametre tanımlayın, örn. Ülke '-dname', 'c=RU'
**
apply plugin: 'com.android.application'
// define here sign properties
def sPassword = 'storePassword_here'
def kAlias = 'keyAlias_here'
def kPassword = 'keyPassword_here'
android {
...
signingConfigs {
release {
storeFile file("keystore/release.jks")
storePassword sPassword
keyAlias kAlias
keyPassword kPassword
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
shrinkResources true
minifyEnabled true
useProguard true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
...
}
...
task generateKeystore() {
exec {
workingDir projectDir
commandLine 'mkdir', '-p', 'keystore'
}
exec {
workingDir projectDir
commandLine 'rm', '-f', 'keystore/release.jks'
}
exec {
workingDir projectDir
commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
'-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
'-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
}
}
project.afterEvaluate {
preBuild.dependsOn generateKeystore
}
Bu, proje senkronizasyonu ve derlemesinde anahtar deposu oluşturur
> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
Android Studio'yu kullanmak istemiyorsanız veya kullanamıyorsanız, create-android-keystore NPM aracını kullanabilirsiniz:
$ create-android-keystore quick
Bu, geçerli dizinde yeni oluşturulan bir anahtar deposuyla sonuçlanır.
Daha fazla bilgi: https://www.npmjs.com/package/create-android-keystore