Mudança crítica no Android 15 e extensões do Kotlin

Com a chegada do Android 15 (API 35), desenvolvedores Android que utilizam Kotlin precisam ficar atentos a uma mudança importante que pode afetar diretamente a estabilidade de seus aplicativos. A questão envolve as extensões list.removeFirst() e list.removeLast() do Kotlin e suas interações com as novas APIs do List introduzidas no Android 15. 

 

O que está acontecendo? 

A partir do Android 15, foram introduzidos métodos nativos para List.removeFirst() e List.removeLast() no nível da API. O problema surge quando seu app é compilado com o compileSdk atualizado para 35, mas executado em versões anteriores do Android (API 34 ou inferior). Isso causa erros de execução, com mensagens como:

java.lang.NoSuchMethodError: No virtual method removeFirst() 

Este problema ocorre porque, nessas versões anteriores, os métodos nativos ainda não existem, e o Kotlin não consegue resolver adequadamente essas chamadas. 

 

Como evitar esse problema? 

A solução é simples: substitua as chamadas problemáticas por alternativas que funcionem de forma consistente em todas as versões do Android. Em vez de removeFirst(), utilize: 

list.removeAt(0) 

E, em vez de removeLast(), use: 

list.removeAt(list.lastIndex) 

Essas soluções são seguras e funcionarão em qualquer versão do Android, garantindo que seu app não falhe em versões mais antigas. 

 

Detectando e corrigindo automaticamente: 

A boa notícia é que o Android Studio, a partir da versão 2024.3.1, já inclui uma ferramenta de lint que pode ajudar a identificar esses problemas automaticamente. Ao rodar a verificação com o lint, ele detectará o uso dessas APIs e sugerirá correções rápidas para substituí-las. Isso agiliza o processo e minimiza a possibilidade de que essas falhas acabem em produção. 

 

Conclusão 

Se você está desenvolvendo para Android e usa Kotlin, é fundamental revisar suas implementações de list.removeFirst() e list.removeLast() antes de atualizar o compileSdk para 35. Essa mudança pode parecer sutil, mas pode causar erros sérios em dispositivos rodando versões mais antigas do Android.

Mantenha seus apps estáveis, faça as alterações necessárias e utilize as ferramentas disponíveis para garantir que tudo funcione como esperado. Afinal, ninguém quer um app falhando em produção, certo? 

Fique atento às mudanças e siga desenvolvendo com segurança!  

 

*As opiniões aqui colocadas refletem a minha opinião pessoal e não necessariamente a opinião da Compass UOL.  

Gostou da solução? Nós podemos ajudar!

Conheça nossos conteúdos gratuitos, direcionados aos assuntos de sua preferência!

Enviar

Receba nosso conteúdo

Gostaria de receber de forma gratuita mais conteúdos sobre este ou outros assuntos? Preencha o formulário abaixo e receba nosso conteúdo gratuito!

Parabéns!

Você receberá nosso conteúdo em breve!

Atenção

Tivemos um problema com seu formulário, tente novamente.