Desenvolvimento de software para Android

Origem: Wikipédia, a enciclopédia livre.

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,[1] com mais de bilhões de downloads.[2][3] Uma pesquisa em Junho indicou que mais de 67% dos desenvolvedores usaram a plataforma, no tempo da publicação.[4]

Ferramentas oficiais de desenvolvimento[editar | editar código-fonte]

Android SDK[editar | editar código-fonte]

Android SDK
Lançamento novembro de 2009 (12 anos)
Idioma(s) Inglês
Escrito em Java
Sistema operacional Multiplataforma
Gênero(s) SDK, IDE
Página oficial developer.android.com/sdk/index.html

O Kit de Desenvolvimento de Software (SDK) do Android inclui uma lista compreensiva de ferramentas de desenvolvimento. É incluído um debugger, bibliotecas, um emulador baseado em QEMU, documentação, códigos de exemplo e tutoriais. As plataformas suportadas para o desenvolvimento incluem sistemas operacionais baseados em Linux, Mac OS X 10.5.8 ou superior e Windows XP ou superior.[5]

Até o final de 2014, o ambiente de desenvolvimento integrado (IDE) oficial era o Eclipse, utilizando o plugin Android Development Tools (ADT). Em 2015, Android Studio, feito pela Google e com IntelliJ é a IDE oficial.[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.

Android Debug Bridge[editar | editar código-fonte]

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[editar | editar código-fonte]

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 reproveitados no desenvolvimentos de projetos para dispositivos Android.[6]

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[editar | editar código-fonte]

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.[6]

Como Funciona[6][editar | editar código-fonte]

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:

public native void methodA();
public native int methodB(String str, int b);

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:

JNIEXPORT void JNICALL
Java_br_com_package_JavaClass_methodA(JNIEnv *env, jobject instance) {
    c_methodA();
}

JNIEXPORT jint JNICALL
Java_br_com_package_JavaClass_methodB(JNIEnv *env, jobject instance, jstring str,
                                                            jint b) {
    const char *c_str = (*env)->GetStringUTFChars(env, str, 0);
    int ret = c_methodB(c_str, b);
    (*env)->ReleaseStringUTFChars(env, str, c_str);
    return ret;
}

Note que nas linhas 3 e 10 são feitas as chamadas para os métodos nativos C.

Ver também[editar | editar código-fonte]

Referências

  1. «Google Play Hits 1 Million Apps». Mashable. 24 de julho de 2013 
  2. «Android App Stats». Consultado em 31 de dezembro de 2010. Cópia arquivada em 2 de janeiro de 2011 
  3. Leena Rao (14 de abril de 2011). «Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter». Techcrunch. Consultado em 13 de maio de 2011. Cópia arquivada em 25 de abril de 2011 
  4. «Developer Economics 2011». Consultado em 19 de dezembro de 2015. Arquivado do original em 29 de setembro de 2013 
  5. a b «Como baixar o Android Studio e o SDK Tools». Android. Consultado em 6 de Fevereiro de 2016 
  6. a b c «Como configurar o NDK no Android Studio com Gradle e um exemplo». eMMis. Consultado em 13 de setembro de 2016 

Ligações externas[editar | editar código-fonte]

Wikilivros
O Wikilivros tem um livro chamado Android