Saga estudando Android Studio #00 - POR QUE ELE NÃO FUNCIONA???

Saga estudando Android Studio #00 - POR QUE ELE NÃO FUNCIONA???

Olá! Como o título já sugere, irei escrever aqui sobre a minha luta e um certo “surto” para conseguir estudar como fazer aplicativos Android! Se divirta!

Aqui um resumo sobre oque irei falar por aqui:

Porque comecei a estudar mobile

Para resumir uma novela intensa de dois ou três dias, no início do ano passado, comecei a estudar como fazer aplicativos Android pq na minha cabeça da época (sem conhecer o mínimo de hardware) seria muito legal estudar Android pra trabalhar com performance de aplicativos para torná-los mais rápidos, tanto pela demanda do mercado quanto por que celulares android têm componentes menos potentes que computadores. Mal esperava saber que na verdade, a arquitera ARM foi feita para lidar com performance e baixo consumo de energia, e ainda, se quer esperava saber disso a partir de um professor da faculdade.

Mas mesmo assim, decidi conhecer desse mundo porque já me aventurei no Ionic e como um bom fã de Linux, achei muito conveniente juntar o fato de eu gostar de Linux e o Android ser uma versão modificada do kernel, como também que eu me apaixonei pela criação de aplicativos quando fiz o debug do meu app pelo meu próprio celular, foi como criar um filho, ou então como quando Victor criou o Frankestein (“ele está vivo! E não dá nenhum erro em runtime!!”). Aí começa uma estranha jornada…

Como comecei a estudar e caí na cilada das versões obsoletas

Tentando resumir só mais um pouquinho, comprei um curso na Udemy, mas o curso parece ser de 2019 (digo parece porque não têm datas. Talvez para parecer atemporal?), exatamente na versão 3.5.2, quando o Android Studio ainda usava Java nos projetos. E foi aí que começou meu problema… o Gradle e seus choros de incompatibilidade…

Pra quem não sabe, o Gradle é quem gerencia a build do aplicativo android, seja na emulação do próprio Android Studio como quando é feito o debug para o celular. Ele certamente gerencia e trabalha com mais coisas dentro do Android Studio, mas como ainda não estudei a fundo sobre, não sei ao certo tudo que ele faz. Recomendo dar uma leve procurada! Falo mal dele aqui, mas é mt interessante

Comecei a estudar todo felizinho até ter de criar meu primeiro projeto e dar de cara com 170 erros de build. O projeto estava todo certo (até porque estava vazio, uma EmptyActivity), mas quando precisava testar ou fazer o “sync” (que ainda nn entendo o propósito), ele dava algum erros muitos específicos de compatibilidade, como Android resource linking failed e agora dá um tal de Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve androidx.lifecycle:lifecycle-common:[2.6.1]. Agora estou tentando entender esse novo erro.

No dia em que tive esse primeiro erro, corri atrás de todos os sites, de todas as perguntas possíveis no Stack Overflow, de toda ajuda que o Chat GPT era capaz de fornecer, inclusive pedindo ajuda ao instrutor do curso para resolver o problema, e ainda pesquisando versões de compatibilidade para cada dependência mas mesmo assim não resolvia nada…

Como consegui resolver há 8 meses atrás (e espero conseguir de novo!)

Fique batendo e batendo a cabeça… até que tive a brilhante ideia de pegar o projeto do professor que estava no curso e copiar todas as versões de todas as dependências e funcionou!! Quando fui ver o meu problema estava na compatibilidade do Compile SDK Version. Mudei a compilação do Android SDK de 26 para 29 e deu tudo certo. Mesmo voltando aos estudos depois de 8 meses , os problemas perpetuam.

Só não entendo o porquê do Android Studio ter um sistema organizado de dependências ou um gerenciador como o npm. Um package.json ou um package-lock.json ajudariam muito nesses casos, me ajudaram quando fazia apps com Ionic, só não tinha problemas com o Android Studio porque eu fazia tudo no Ionic usando um ecossistema de web basicamente (HTML, SCSS e Typescript) e só usava o Android Studio na última versão pra debugar o aplicativo num dispositivo físico, porque o próprio Ionic já fazia a build (🙏🏾). Super simples! Depois irei estudar melhor como funciona a compilação no Android Studio de fato, por que às vezes, só de olhar para esse elefante pilantra do Gradle já me irrito…

Agora que voltei aos estudos — porque tinha parado para conseguir a equilibrar trabalho e faculdade — e voltei a ter os mesmos problemas. O projeto estava começando muito bem até eu começar a estudar constrains… Contudo, as ainda não testei minhas explicações para o professor do curso sobre como fiz dar certo. Vou tentar e aviso aqui depois. Mas caso alguém leia este eco de pensamentos em voz alta, gostaria de saber o que acham e se já passaram por algo assim, seja no Android Studio ou não.

Escrito com [StackEdit](https://stackedit.io/).

Comentários

Postagens mais visitadas