O Google recentemente liberou o Android 5 (chamado de Lollipop), que veio cheio de novidades. Mas alguns aparelhos que fizeram essa atualização tiveram problemas para baixar alguns aplicativos na Play Store. Quando o aplicativo terminava o download e começava a ser instalado, era apresentado um erro com o código -505, conforme essa imagem:
Com essa mensagem fica muito difícil identificar o erro, mas fazendo um deploy direto para o device, o log mostra a seguinte mensagem:
Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.google.android.c2dm.permission.RECEIVE pkg=com.google.android.gsf]
Ou seja, o erro acontece por “duplicidade de permissão”. O erro aconteceu porque no arquivo AndroidManifest.xml estava declarada uma permissão com a tag <permission>, na qual quem deve declarar a permission mostrada no erro acima é o aplicativo que tem o pacote com.google.android.gsf. O aplicativo que vai utilizar essa permissão deve utilizar a tag <uses-permission>, conforme abaixo:
<uses-permission android:name=”com.google.android.c2dm.permission.RECEIVE”/>
Esta permissão possibilita com que o aplicativo trabalhe com push notifications. Além disso, para trabalhar com push é necessário mais uma permissão que deve ser declarada da seguinte maneira:
<permission android:name=”your-package.permission.C2D_MESSAGE” android:protectionLevel=”signature” /> <uses-permission android:name=”your-package.permission.C2D_MESSAGE” />
Caso o seu problema não seja exatamente essa permissão, verifique na documentação como deve declarar a permissão para utilizar o recurso desejado. Fazendo isso, é só gerar uma nova versão do aplicativo, subir para a Play Store novamente e curtir os novos downloads dos seus aplicativos com o Lollipop.