Android L'ye yükselttim ve "Google oynatma" bölümünde uygulamamın yayınlanmış bir sürümüne ve geliştirme için kullandığımız bir hata ayıklama sürümüne sahip oldum.Android L sürümleri ile sürüm ve hata ayıklama hataları arasında çakışma
Farklı anahtarlarla imzalanırlar.
Sorunum şöyle tanımlanır ayıklama sürümünü yüklemeden çalıştığımda ardından "Google oynamak" sürümünü yüklemek ve şudur:
debug {
debuggable true
packageNameSuffix ".debug"
buildConfigField BOOLEAN, IS_DEV, TRUE
}
Ve bu aldığım hatadır:
Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.app.name.permission.C2D_MESSAGE pkg=com.app.name]
Bu sorunlu izni: Ben farkındayım
<permission
android:name="com.app.name.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.app.name.permission.C2D_MESSAGE"/>
(http://commonsware.com/blog/2014/08/04/custom-permission-vulnerability-l-developer-preview.html) ve bunun bir güvenlik sorunu nedeniyle oluşturulduğu gerçeği, ancak yine de her birinin kendi hata ayıklama imza anahtarına sahip bir ekiple çalışabilmem gerekiyor.
Adb uninstall (https://stackoverflow.com/a/27090838/2746924) kullanarak kaldırmayı denedim ve tüm uygulamaları önbelleğe almayı denedim.
'packageNameSuffix '' in bir süredir kullanımdan kaldırıldığını unutmayın. Bunun yerine 'applicationIdSuffix' kullanın. Sorunuzla ilgili olarak, GCM'nin 'applicationId' hakkında dikkatli olması gerektiğini düşünürdüm ve özel izinlerinizin 'com.app.name' parçaları hata ayıklama ve sürüm oluşturma işlemleri arasında farklı olmalıdır. Mevcut izni temizleyememeniz açısından, henüz test yapmıyorum (daha sonra bugün için planlıyorum), ancak bir fabrika ayarlarına sıfırlama yapılması gerektiğinden şüpheleniyorum. – CommonsWare
Doğru, paket isimlerinin sürüm ve hata ayıklaması arasında değiştirilmesi muhtemelen işe yarar, ancak bu benim tatlarımı öldürür. – JY2k
"sürüm adları ile sürüm ayıklar arasında paket adlarını değiştirmek muhtemelen işe yarayacaktır" - zaten bunu yapıyorsunuz, sorunuzdaki 'build.gradle 'snippet'iniz tarafından kanıtlanmıştır. – CommonsWare