Desenvolvimento de software para Android é o processo pelo qual um novo aplicativo é criado para o sistema operacional Android. Aplicativos são geralmente desenvolvidos na linguagem de programação Java usando o Android software development kit (SDK), mas outros ambientes de desenvolvimento estão também disponíveis.
Desde julho de 2013, mais de um milhão de aplicativos foram desenvolvidos para Android,[2] com mais de bilhões de downloads.[3][4] Uma pesquisa em Junho indicou que mais de 67% dos desenvolvedores usaram a plataforma, no tempo da publicação.[5]
Aplicativos de Android consistem em arquivos do formato .apk e são armazenados no diretório /data/app do sistema operacional. Esta pasta é acessível somente ao usuário root por razões de segurança.
Modo de uso
O projeto "helloworldapp" usando o Android Studio para criar um aplicativo móvel com a linguagem de programação Kotlin, que irá exibir na tela a mensagem "Oi Mundo!".[7]
O código do arquivo MainActivity.kt define o layout de visualização do aplicativo e, em seguida localiza um TextView com o id "textView" e define seu texto/conteúdo a ser exibido como a frase "Oi Mundo!"...[7]
O código do arquivo activity_main.xml define o layout no formato XML, onde configura um TextView com o id "textView" e define seu texto/conteúdo como "Oi Mundo!"...[7]
O Android Debug Bridge (ADB) é um kit de ferramentas incluso no Android SDK. Consiste de programas tanto de cliente quanto de servidor que comunicam entre si. O ADB é tipicamente acessado através da interface de linha de comando, apesar de que existem inúmeras interfaces gráficas de usuário para controlar o ADB.
O formato usual de comandos no ADB é tipicamente:
adb [-d|-e|-s <númeroSerial>] <comando>
Android NDK
O Native Development Kit (NDK) é um conjunto de ferramentas disponibilizadas pelo Google que permite que códigos desenvolvidos em linguagem de programação C/C++ sejam reaproveitados no desenvolvimentos de projetos para dispositivos Android.[8]
Esta ferramenta deve ser utilizada por programadores experientes pois aumenta a complexidade do código. Em contrapartida, permite que códigos complexos, bem testados e validados em outros dispositivos, possam ser integrados no Android, evitando retrabalho.
Também é utilizado quando o desempenho é primordial, como em simuladores físicos, jogos ou programas gráficos.
IDE para Desenvolvimento
Antigamente o NDK só podia ser utilizado por linha de comando ou no Eclipse. Hoje é possível utilizar o Android Studio e o Gradle para desenvolver os projetos.[8]
Basicamente o NDK permite que você inclua todos seu código nativo em C/C++ e também utilize as bibliotecas padrão do C/C++.
O código nativo é colocado em um pasta, normalmente chamada de JNI. Já na parte do código Android em Java, é feita a chamada de método responsável por carregar a biblioteca nativa:
System.loadLibrary("library");
Também na parte Java, devem ser criados métodos que representarão os métodos nativos. Utiliza-se a palavra chave "native", como no exemplo:
Finalmente, deve ser criado um arquivo em linguagem C que fará a ligação dos métodos acima citados com os métodos nativos. Utiliza-se a técnica de JNI para alcançar este objetivo. Segue um simple exemplo: