2017-07-18 73 views
7

Arka plan:Belirli bir "productFlavor" için yapılandırılmış farklı "buildTypes" işaretlemek için aynı sertifikayı kullanma yetkisi var mı?

I üreten varyantı oluşturmak kullanılarak inşa değilim. Aşağıda yapılandırmalarıdır:

signingConfigs { 
    production { 
     storeFile file("some_path/buildsystem/keystore/some.release.keystore.jks") 
     storePassword "somepassword" 
     keyAlias "somekeyalias" 
     keyPassword "some" 
     v2SigningEnabled false 
    } 

    develop { 
     storeFile file(".some_path./buildsystem/keystore/someother.debug.keystore.jks") 
     storePassword "someother" 
     keyAlias "someotherkeyalias" 
     keyPassword "someother" 
     v2SigningEnabled false 
    } 
} 

productFlavors { 
    production { 
     signingConfig signingConfigs.production 
     } 

    develop { 
     applicationIdSuffix ".develop" 
     signingConfig signingConfigs.develop 
    } 
} 

buildTypes { 
    debug { 
     minifyEnabled false 
    } 

    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
    } 
} 

Sorun

gibi, daha sonra productionReleasesigningConfigs.production apk imzalamak için kullandığı artık örneğin ben lezzet production söz eğer. Ancak, productionDebug, signingConfigs.production'u kullanmaz.

Beklenen çıkış

ben gradle benim için aşağıdakileri yapmak için imzalı apk istiyorum oluşturmak:

  1. developRelease ve developDebugsadece signingConfigs.develop

    ile imzalanan edilmelidir
  2. productionRelease ve productionDebug sadece signingConfigs.production

yukarıda yapmaya götürdü hangi buna benzer bir başka soruyu imzalı edilmelidir: SHA-1 different for buildTypes (debug and release) for same productFlavors Firebase?

+0

Ben ayıklama için üretim imza kullanarak düşünüyorum eklemiş Oluşturma, hata ayıklama sürümünü Google Play'e kazayla serbest bırakma gibi hatalara neden olabilir. Neden bunu yapmak istiyorsun? – auval

+0

@auval Çok doğru sizsiniz. Herhangi bir sorun ortaya çıkarsa, üretim yapısını ayıklamak için imzayı ayırmak istiyorum. İkincisi, harita api talebinde bir sınır var. Üretimdeki gerçek kullanıcılar için sınırı korumak istiyorum. Geliştirme modunda test cihazları veya geliştiriciler, geliştirme imzasıyla test yapmaya devam edebilir. Bilginize https://stackoverflow.com/q/44584273/2870088 ayıklama Gradle içinde inşa etmek için farklı bir paket adı ayarlayabilir ve ben tarafından inanıyoruz @auval bir hata ayıklama anahtarla haritalara –

+0

Sadece farklı paket adını ayarlama çalışmaz. applicationId firebase konsolunda sertifika imzasıyla eşleşmelidir. Varsayılan olarak buildTypes.debug ile gidersem hata ayıklama için bile doğru değil. Aşağıda Mani'nin cevabına göre bir şeyler yapmam gerekiyor. Daha iyi veya alternatif bir yol olduğunu düşünüyorsanız, lütfen cevabınızı gönderin. – auval

cevap