A pilha de componentes que compõe o sistema Android[1]

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]

Ferramentas oficiais de desenvolvimento

editar

Android SDK

editar
Android SDK
Lançamento inicialnovembro de 2009 (16 anos)
Sistema
operacional
Multiplataforma
Disponível emInglês
TipoSDK, IDE
Websitedeveloper.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.[6]

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

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

editar

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]

package com.example.helloworldapp

    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import android.widget.TextView

    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)

            val textView = findViewById(R.id.textView)
            textView.text = "Oi Mundo!"
        }
    }

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]

<?xml version="1.0" encoding="utf-8"?>
        <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".MainActivity">

            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Oi Mundo!"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent" />
        </androidx.constraintlayout.widget.ConstraintLayout>

Android Debug Bridge

editar

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

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

editar

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]

Modo de uso[8]

editar

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

Referências

  1. «The Android Source Code». Android Open Source Project (em inglês). Consultado em 19 de setembro de 2022. Arquivado do original em 1 de março de 2017 
  2. «Google Play Hits 1 Million Apps». Mashable. 24 de julho de 2013 
  3. «Android App Stats». Consultado em 31 de dezembro de 2010. Cópia arquivada em 2 de janeiro de 2011 
  4. 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 
  5. «Developer Economics 2011». Consultado em 19 de dezembro de 2015. Arquivado do original em 29 de setembro de 2013 
  6. a b «Como baixar o Android Studio e o SDK Tools». Android. Consultado em 6 de Fevereiro de 2016 
  7. a b c «Creating a Hello World App in Android Studio with Kotlin». codinglabel.com (em inglês). Consultado em 19 de fevereiro de 2024 
  8. 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
O Wikilivros tem um livro chamado Android

📚 Artikel Terkait di Wikipedia

ZeroTurnaround

Keohane, Dennis (19 de março de 2013). «ZeroTurnaround Acquires Java Development Tool Company, Javeleon». VentureFizz. Consultado em 22 de maio de 2014 

Android Studio

download em Windows, Mac OS X e Linux, e substituiu Eclipse Android Development Tools (ADT) como a IDE primária do Google de desenvolvimento nativo para

JetBrains

«JetBrains Ships YouTrack 4.0 Agile Dev Tool». eWeek  Hunger, Michael (26 de novembro de 2010). «JetBrains Developer Tools». infoQ. Consultado em 5 de agosto

PhoneGap

Tools». monaco.mobi. Consultado em 10 de junho de 2014. Arquivado do original em 20 de junho de 2014  «Create Mobile and Web Apps with HTML5 and JavaScript»

Ghidra

pesquisadores de segurança como um competidor ao IDA Pro. O software é escrito em Java, usando o framework Swing para a GUI. O componente do descompilador é escrito

R (linguagem de programação)

Editor/processador de texto disponível apenas para Windows. Java Gui for R – Editor baseado em Java, multi-plataforma e independente de terminais R (também

Neofetch

Manjaro afetch, escrito em ANSI C CoalFetch, um programa de uma linha em Java dosfetch, escrito em Pascal para DOS efetch, escrito em C++ fastfetch, um

SonarQube

contínua como Bamboo, Jenkins, etc. As linguagens suportadas incluem Java, C#, C, C++, JavaScript, TypeScript, Python, e diversas outras. Possui ainda integrações