blob: 421b9061746b43dcc9214d374113b2d894f2fc52 [file] [log] [blame]
<html devsite><head>
<title>Perguntas frequentes</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
<body>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<a name="top"></a>
<p>
Esta página fornece respostas para as perguntas frequentes. Para ver respostas de outras perguntas comuns, consulte as <a href="http://developer.android.com/guide/faq/index.html" class="external">Perguntas frequentes do Android</a> em developer.android.com.
</p>
<h2 id="open-source">Código aberto</h2>
<h3 id="what-is-the-android-open-source-project">O que é o Android Open Source Project?</h3>
<p>Usamos o termo "Android Open Source Project" ou "AOSP" para nos referirmos às pessoas, aos processos e ao código-fonte que compõem o Android.</p>
<p>As pessoas supervisionam o projeto e desenvolvem o código-fonte real. Os processos referem-se às ferramentas e procedimentos que usamos para gerenciar o desenvolvimento do software. O resultado final é o código-fonte, que você pode usar para criar smartphones e outros dispositivos.</p>
<h3 id="why-did-we-open-the-android-source-code">Por que abrimos o código-fonte do Android?</h3>
<p>O Google iniciou o projeto Android em resposta às nossas próprias experiências ao lançar apps para dispositivos móveis. Queríamos ter certeza de que sempre haveria uma plataforma aberta disponível para operadoras, OEMs e desenvolvedores usarem para transformar as ideias inovadoras deles em realidade. Também queríamos ter certeza de que não haveria um ponto central de falha, para que ninguém do setor pudesse restringir ou controlar as inovações dos outros. O objetivo mais importante do Android Open Source Project (AOSP) é garantir que o software Android de código aberto seja implementado da maneira mais ampla e compatível possível, para o benefício de todos.</p>
<h3 id="what-kind-of-open-source-project-is-android">Que tipo de projeto de código aberto o Android é?</h3>
<p>O Google supervisiona o desenvolvimento da plataforma principal de código aberto do Android e trabalha para criar comunidades robustas de desenvolvedores e usuários. Em sua maioria, o código-fonte do Android é licenciado sob uma Licença de Software flexível, a Apache 2.0, em vez de uma licença "copyleft". A principal razão disso é que nosso objetivo mais importante é a ampla adoção do software, e acreditamos que a licença do ASL2.0 é a melhor para esse objetivo. Para ver mais detalhes, consulte <a href="licenses.html">Licenças</a>.</p>
<h3 id="why-is-google-in-charge-of-android">Por que o Google é responsável pelo Android?</h3>
<p>O lançamento de uma plataforma de software é algo complexo. A transparência é vital para o sucesso a longo prazo de uma plataforma, uma vez que essa característica é necessária para atrair investimentos de desenvolvedores e garantir condições iguais para todos. No entanto, a plataforma em si também precisa ser um produto atraente para os usuários.</p>
<p>É por isso que o Google dedicou os recursos de engenharia profissional necessários para garantir que o Android seja uma plataforma de software totalmente competitiva.
Tratamos o projeto Android como uma operação de desenvolvimento de produtos em grande escala e firmamos as parcerias de negócios necessárias para garantir que ótimos dispositivos que executam o Android realmente cheguem ao mercado.</p>
<p>Ao garantir que o Android seja um sucesso para os usuários, ajudamos a assegurar a vitalidade dele como uma plataforma e como um projeto de código aberto. Afinal, quem iria querer o código-fonte de um produto sem sucesso?</p>
<p>O objetivo do Google é garantir um ecossistema bem-sucedido em torno do Android. Mas é claro que ninguém é obrigado a participar. Abrimos o código-fonte do Android para que qualquer pessoa possa modificar e distribuir o software para atender às próprias necessidades.</p>
<h3 id="what-is-googles-overall-strategy-for-android-product-development">Qual é a estratégia geral do Google para o desenvolvimento de produtos Android?</h3>
<p>Temos como meta lançar ótimos dispositivos em um mercado competitivo. Em seguida, incorporamos as inovações e melhorias que fizemos na plataforma principal para criar a próxima versão.</p>
<p>Na prática, isso significa que a equipe de engenharia do Android normalmente se concentra em alguns poucos dispositivos "principais" e desenvolve a próxima versão do software Android para ser compatível com os lançamentos desses produtos. Esses dispositivos absorvem grande parte do risco do produto e abrem caminho para a ampla comunidade OEM, que lança muitos outros dispositivos que aproveitam os novos recursos. Dessa forma, garantimos que a plataforma Android evolua de acordo com as verdadeiras necessidades dos dispositivos do mundo real.</p>
<h3 id="how-is-the-android-software-developed">Como o software Android é desenvolvido?</h3>
<p>Cada versão de plataforma do Android (como 1.5, 1.6 e assim por diante) tem um branch correspondente na árvore de código aberto. O branch mais recente sempre é considerado a versão "estável atual" dele.
É o branch estável atual que os fabricantes transferem para os dispositivos. Esse branch sempre é mantido de forma a estar adequado para lançamento.</p>
<p>Simultaneamente, há também um branch "experimental atual", que é onde as contribuições especulativas, como grandes recursos da próxima geração, são desenvolvidas. Correções de bugs e outras contribuições podem ser incluídas no branch estável atual do branch experimental, conforme apropriado.</p>
<p>Por fim, o Google trabalha na próxima versão da plataforma Android em conjunto com o desenvolvimento de um dispositivo principal. Esse branch contém alterações dos branches experimental e estável, conforme apropriado.</p>
<p>Para ver mais detalhes, consulte <a href="codelines.html">Linhas de código, branches e versões</a>.</p>
<h3 id="why-are-parts-of-android-developed-in-private">Por que partes do Android são desenvolvidas de forma privada?</h3>
<p>Geralmente, leva mais de um ano para levar um dispositivo para o mercado. E, claro, os fabricantes de dispositivos querem fornecer o software mais recente possível.
Os desenvolvedores, por sua vez, não querem acompanhar constantemente novas versões da plataforma ao criar apps. Ambos os grupos enfrentam a tensão entre despachar produtos e não querer ficar para trás.</p>
<p>Para resolver isso, algumas partes da próxima versão do Android, incluindo as APIs da plataforma principal, são desenvolvidas em um branch privado. Essas APIs constituem a próxima versão do Android. Nosso objetivo é focar a atenção na versão estável atual do código-fonte do Android enquanto criamos a próxima versão da plataforma. Isso permite que desenvolvedores e OEMs usem uma única versão sem rastrear trabalhos futuros inacabados apenas para se manterem atualizados. Contudo, outras partes do sistema Android que não estão relacionadas à compatibilidade de apps são desenvolvidas de forma transparente.
Nossa intenção é passar cada vez mais dessas partes para o desenvolvimento aberto com o passar do tempo.</p>
<h3 id="when-are-source-code-releases-made">Quando ocorre a liberação das versões do código-fonte?</h3>
<p>Quando elas estão prontas. Liberar a versão do código-fonte é um processo bastante complexo.
Algumas partes do Android são desenvolvidas abertamente, para que o código-fonte esteja sempre disponível. Outras são desenvolvidas primeiro em uma árvore privada, e esse código-fonte é liberado quando a próxima versão da plataforma está pronta.</p>
<p>Em algumas versões, as APIs da plataforma principal estarão prontas com antecedência suficiente para que possamos enviar o código-fonte para uma verificação prévia antes do lançamento do dispositivo. Em outras versões, no entanto, isso não é possível. Em todos os casos, liberamos a código-fonte da plataforma quando sentimos que a versão se estabilizou o suficiente e quando o processo de desenvolvimento permite.</p>
<h3 id="what-is-involved-in-releasing-the-source-code-for-a-new-android-version">O que está envolvido na liberação do código-fonte para uma nova versão do Android?</h3>
<p>Liberar o código-fonte para uma nova versão da plataforma Android é um processo significativo. Primeiro, o software é integrado em uma imagem do sistema para um dispositivo e passa por várias formas de certificação, incluindo certificação regulatória governamental para as regiões onde os smartphones serão implantados. Ele também passa pelo teste de operador. Essa é uma fase importante do processo, porque ajuda a eliminar muitos bugs de software.</p>
<p>Uma vez que o lançamento é aprovado pelos reguladores e operadores, o fabricante inicia a produção em massa dos dispositivos, e nos voltamos para a liberação do código-fonte.</p>
<p>Simultaneamente à produção em massa, a equipe do Google inicia vários esforços para preparar a versão do código-fonte. Esses esforços incluem fazer alterações finais na API, atualizar a documentação (para refletir quaisquer alterações feitas durante o teste de qualificação, por exemplo), preparar um SDK para a nova versão e lançar as informações de compatibilidade da plataforma.</p>
<p>Também é necessária uma aprovação legal final para liberar o código como código aberto. Assim como os colaboradores de código aberto são obrigados a assinar um Contrato de Licença de Colaborador atestando a posse da propriedade intelectual da contribuição deles, o Google também precisa confirmar que não há problemas em fazer contribuições.</p>
<p>A partir do momento em que a produção em massa começa, o processo de liberação do software geralmente leva cerca de um mês. Isso geralmente faz com que as versões do códigos-fonte sejam lançadas mais ou menos ao mesmo tempo em que os dispositivos chegam aos usuários.</p>
<h3 id="how-does-the-aosp-relate-to-the-android-compatibility-program">Como o AOSP se relaciona com o Programa de compatibilidade do Android?</h3>
<p>O Android Open Source Project mantém o software Android e desenvolve novas versões. Por ser de código aberto, esse software pode ser usado para qualquer finalidade, inclusive para desenvolver dispositivos que não são compatíveis com outros dispositivos baseados no mesmo código.</p>
<p>A função do Programa de compatibilidade do Android é definir uma implementação de referência do Android que seja compatível com apps de terceiros escritos por desenvolvedores. Dispositivos que são compatíveis com o Android podem participar do ecossistema do Android, incluindo o Google Play. Dispositivos que não atendem aos requisitos de compatibilidade existem fora desse ecossistema.</p>
<p>Em outras palavras, o Programa de compatibilidade do Android é como separamos "dispositivos compatíveis com Android" de dispositivos que simplesmente executam derivações do código-fonte. Aceitamos todos os usos do código-fonte, mas apenas dispositivos compatíveis (conforme definido e testado pelo Programa de compatibilidade do Android) podem participar do ecossistema do Android.</p>
<h3 id="how-can-i-contribute-to-android">Como posso contribuir com o Android?</h3>
<p>Existem várias maneiras de contribuir com o Android. Você pode reportar bugs, escrever apps para o Android ou contribuir com código-fonte para o Android Open Source Project.</p>
<p>Existem alguns limites para os tipos de contribuições de código que estamos dispostos ou que somos capazes de aceitar. Por exemplo, alguém pode querer contribuir com uma API de app alternativa, como um ambiente completo baseado em C++. Essa contribuição seria recusada, já que o Android incentiva que os apps sejam executados no Android Runtime. Da mesma forma, não poderíamos aceitar contribuições como bibliotecas GPL ou LGPL incompatíveis com nossas metas de licenciamento.</p>
<p>Encorajamos os interessados em contribuir com código-fonte a entrar em contato conosco por meio dos canais listados na página da <a href="../community.html">Comunidade Android</a> antes de iniciar qualquer trabalho. Para ver detalhes, consulte <a href="../contribute/index.html">Contribuições</a>.</p>
<h3 id="how-do-i-become-an-android-committer">Como faço para me tornar um autor de commit do Android?</h3>
<p>O Android Open Source Project não tem uma noção de "confirmador". Todas as contribuições (incluindo aquelas de autoria dos funcionários do Google) passam por um sistema baseado na Web conhecido como "gerrit", que faz parte do processo de engenharia do Android. Esse sistema trabalha em conjunto com o sistema de gerenciamento de código-fonte git para gerenciar de forma limpa as contribuições do código-fonte.</p>
<p>Depois de submetidas, as alterações precisam ser aceitas por um aprovador designado.
Os aprovadores geralmente são funcionários do Google, mas os mesmos aprovadores são responsáveis por todos os envios, independentemente da origem.</p>
<p>Para ver mais detalhes, consulte <a href="../contribute/submit-patches.html">Como enviar patches</a>.</p>
<a href="#top">Voltar ao início</a>
<h2 id="compatibility">Compatibilidade</h2>
<h3 id="what-does-compatibility-mean">O que significa "compatibilidade"?</h3>
<p>Definimos um "dispositivo compatível com Android" como aquele que pode executar qualquer app criado por desenvolvedores de terceiros usando o SDK e o NDK do Android. Usamos isso como um filtro para separar dispositivos que podem participar do ecossistema de apps Android e aqueles que não podem. Os dispositivos que são devidamente compatíveis podem receber aprovação para usar a marca registrada do Android. Os dispositivos que não são compatíveis são apenas derivados do código-fonte do Android e não podem usar a marca registrada dele.</p>
<p>Em outras palavras, a compatibilidade é um pré-requisito para participar do ecossistema de apps Android. Qualquer pessoa é livre para usar o código-fonte do Android,
porém, se o dispositivo não for compatível, ele não será considerado parte do ecossistema Android.</p>
<h3 id="what-is-the-role-of-google-play-in-compatibility">Qual é o papel do Google Play na compatibilidade?</h3>
<p>Fabricantes de dispositivos compatíveis com Android podem querer licenciar o software cliente do Google Play. Isso possibilita que eles se tornem parte do ecossistema de apps Android, permitindo que os usuários façam o download de apps dos desenvolvedores de um catálogo compartilhado por todos os dispositivos compatíveis. Essa opção não está disponível para dispositivos que não são compatíveis.</p>
<h3 id="what-kinds-of-devices-can-be-android-compatible">Quais tipos de dispositivos podem ser compatíveis com Android?</h3>
<p>O software Android pode ser usado em muitos tipos diferentes de dispositivos, incluindo alguns em que apps de terceiros não serão executados corretamente. O <a href="/compatibility/index.html">Documento de definição de compatibilidade do Android</a> (CDD, na sigla em inglês) detalha as configurações específicas de dispositivos que serão consideradas compatíveis.</p>
<p>Por exemplo, embora o código-fonte do Android possa ser transferido para ser executado em smartphones sem câmera, o CDD exige que todos os smartphones tenham uma câmera.
Isso permite que os desenvolvedores contem com um conjunto consistente de recursos ao criar os apps.</p>
<p>O CDD evoluirá ao longo do tempo para refletir as realidades do mercado. Por exemplo, a versão 1.6 do CDD comporta apenas telefones celulares. Já o CDD 2.1 permite que os dispositivos omitam o hardware de telefonia, possibilitando que dispositivos não telefônicos, como players de música no estilo tablet, sejam compatíveis. À medida que fizermos essas alterações, também aumentaremos o Google Play para permitir que os desenvolvedores mantenham o controle sobre onde os apps deles são disponibilizados. Para continuar no exemplo de telefonia, um app que gerencia mensagens de texto SMS não seria útil em um player de mídia, então o Google Play permite que o desenvolvedor restrinja esse app exclusivamente a telefones celulares.</p>
<h3 id="if-my-device-is-compatible-does-it-automatically-have-access-to-google-play-and-branding">Se meu dispositivo for compatível, ele automaticamente terá acesso ao Google Play e à marca?</h3>
<p>O Google Play é um serviço operado pelo Google. Atingir a compatibilidade é um pré-requisito para ter acesso ao software e à marca do Google Play.
Os fabricantes de dispositivos precisam preencher o formulário de contato incluso no <a href="/compatibility/contact-us#for-business-inquiries">licenciamento dos Serviços do Google Mobile</a> para ter acesso ao Google Play. Entraremos em contato se pudermos ajudar.</p>
<h3 id="if-i-am-not-a-manufacturer-how-can-i-get-google-play">Como posso ter o Google Play se não sou um fabricante?</h3>
<p>O Google Play é licenciado apenas para fabricantes que comercializam dispositivos portáteis.
Para dúvidas sobre casos específicos, entre em contato com <a href="mailto:android-partnerships@google.com">android-partners@google.com</a>.
</p>
<h3 id="how-can-i-get-access-to-the-google-apps-for-android-such-as-maps">Como posso ter acesso aos apps do Google para Android, como o Maps?</h3>
<p>Os apps do Google para Android, como o YouTube, o Google Maps, o Gmail e muitos outros, são propriedades do Google que não fazem parte do Android e são licenciados separadamente. Entre em contato com <a href="mailto:android-partnerships@google.com">android-partnerships@google.com</a> para esclarecer dúvidas relacionadas a esses apps.</p>
<h3 id="is-compatibility-mandatory">A compatibilidade é obrigatória?</h3>
<p>Não. O Programa de compatibilidade do Android é opcional. Como o código-fonte do Android é aberto, qualquer pessoa pode usá-lo para criar qualquer tipo de dispositivo. No entanto, se os fabricantes quiserem usar o nome do Android com os produtos deles ou acessar o Google Play, será necessário primeiro demonstrar que os dispositivos são compatíveis.</p>
<h3 id="how-much-does-compatibility-certification-cost">Quanto custa a certificação de compatibilidade?</h3>
<p>Não há custos para tornar um dispositivo compatível com o Android. O Teste de Compatibilidade do Android é de código aberto e está disponível para qualquer pessoa realizar testes de dispositivos.</p>
<h3 id="how-long-does-compatibility-take">Quanto tempo dura a compatibilidade?</h3>
<p>O processo é automático. O Teste de Compatibilidade do Android gera um relatório, que pode ser fornecido ao Google para verificar a compatibilidade. Futuramente, pretendemos fornecer ferramentas de autoatendimento para fazer upload desses relatórios em um banco de dados público.</p>
<h3 id="who-determines-what-will-be-part-of-the-compatibility-definition">Quem determina o que fará parte da definição de compatibilidade?</h3>
<p>Como o Google é responsável pela direção geral do Android como plataforma e produto, ele prepara o Documento de definição de compatibilidade para cada versão. Ao elaborarmos o CDD para uma nova versão do Android, consultamos vários OEMs que fornecem informações sobre o conteúdo deles.</p>
<h3 id="how-long-will-each-android-version-be-supported-for-new-devices">Por quanto tempo cada versão do Android será compatível com novos dispositivos?</h3>
<p>Como o código do Android é aberto, não podemos impedir que alguém use uma versão antiga para lançar um dispositivo. Em vez disso, o Google opta por não licenciar o software cliente do Google Play para uso em versões consideradas obsoletas. Isso permite que versões antigas continuem sendo fornecidas, mas esses dispositivos não usarão o nome Android e existirão fora do ecossistema de apps do Android, como se não fossem compatíveis.</p>
<h3 id="can-a-device-have-a-different-user-interface-and-still-be-compatible">Um dispositivo pode ter uma interface de usuário diferente e ainda ser compatível?</h3>
<p>O Programa de compatibilidade do Android determina se um dispositivo pode executar apps de terceiros. Os componentes da interface do usuário fornecidos com um dispositivo (como tela inicial, discador, esquema de cores e assim por diante) geralmente não têm muito efeito sobre apps de terceiros. Dessa forma, os criadores de dispositivos podem personalizar a interface do usuário o quanto quiserem. Contudo, o Documento de definição de compatibilidade restringe o grau em que os OEMs podem alterar a interface do usuário do sistema para áreas que afetam apps de terceiros.</p>
<h3 id="when-are-compatibility-definitions-released-for-new-android-versions">Quando as definições de compatibilidade são lançadas para novas versões do Android?</h3>
<p>Nossa meta é lançar novas versões de CDDs assim que a versão correspondente da plataforma Android convergir o suficiente para que isso seja possível. Embora não possamos liberar um rascunho final de um CDD para uma versão do software Android antes que o primeiro dispositivo principal seja lançado com esse software, os CDDs finais sempre serão liberados após o primeiro dispositivo.
No entanto, sempre que possível, disponibilizamos versões de rascunho de CDDs.</p>
<h3 id="how-are-device-manufacturers-compatibility-claims-validated">Como as declarações de compatibilidade dos fabricantes de dispositivos são validadas?</h3>
<p>Não há um processo de validação para compatibilidade de dispositivos Android. No entanto, se o dispositivo for incluir o Google Play, o Google normalmente valida esse dispositivo quanto à compatibilidade antes de concordar em licenciar o software cliente do Google Play.</p>
<h3 id="what-happens-if-a-device-that-claims-compatibility-is-later-found-to-have-compatibility-problems">O que acontece se um dispositivo que declara compatibilidade demonstrar problemas posteriores quanto a isso?</h3>
<p>Normalmente, os relacionamentos do Google com os licenciados do Google Play nos permitem pedir que imagens atualizadas do sistema sejam publicadas para solucionar os problemas.</p>
<a href="#top">Voltar ao início</a>
<h2 id="compatibility-test-suite">Teste de Compatibilidade do Android</h2>
<h3 id="what-is-the-purpose-of-the-cts">Qual é a finalidade do CTS?</h3>
<p>O Teste de Compatibilidade do Android (CTS, na sigla em inglês) é uma ferramenta usada pelos fabricantes para ajudar a garantir que os dispositivos deles sejam compatíveis e para relatar resultados de testes para validação. O CTS foi projetado para ser executado com frequência por OEMs durante todo o processo de engenharia a fim de detectar problemas de compatibilidade antecipadamente.</p>
<h3 id="what-kinds-of-things-does-the-cts-test">Que tipo de coisas o CTS testa?</h3>
<p>O CTS atualmente testa se todas as APIs de tipos fortes compatíveis com o Android estão presentes e se comportam corretamente. Ele também testa outros comportamentos do sistema que não são APIs, como o ciclo de vida de apps e o desempenho. Planejamos adicionar compatibilidade em futuras versões do CTS para também testar APIs "parciais", como Intents.</p>
<h3 id="will-the-cts-reports-be-made-public">Os relatórios do CTS serão divulgados publicamente?</h3>
<p>Sim. Embora isso não esteja implementado atualmente, o Google pretende fornecer ferramentas de autoatendimento baseadas na Web para que os OEMs publiquem relatórios do CTS para que possam ser visualizados por qualquer pessoa. Os relatórios do CTS podem ser compartilhados na medida em que os fabricantes preferirem.</p>
<h3 id="how-is-the-cts-licensed">Como o CTS é licenciado?</h3>
<p>O CTS é licenciado sob a mesma Licença de Software Apache 2.0 que a maior parte do Android usa.</p>
<h3 id="does-the-cts-accept-contributions">O CTS aceita contribuições?</h3>
<p>Sim! O Android Open Source Project aceita contribuições para melhorar o CTS da mesma forma que qualquer outro componente. Na verdade, melhorar a abrangência e a qualidade dos casos de teste do CTS é uma das melhores maneiras de ajudar o Android.</p>
<h3 id="can-anyone-use-the-cts-on-existing-devices">Qualquer um pode usar o CTS em dispositivos existentes?</h3>
<p>O Documento de definição de compatibilidade exige que dispositivos compatíveis implementem o utilitário de depuração <code>adb</code>. Isso significa que todo dispositivo compatível (incluindo aqueles disponíveis no varejo) precisa ser capaz de executar os testes CTS.</p>
<h3 id="are-codecs-verified">Os codecs são verificados pelo CTS?</h3>
<p>Sim. Todos os codecs obrigatórios são verificados pelo CTS.</p>
<a href="#top">Voltar ao início</a>
</body></html>