blob: abb5d94d82bee21a806f8c0eccf9300f57aa5861 [file] [log] [blame]
<html devsite><head>
<title>Atualizações do site</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.
-->
<p>
Esta página descreve as revisões significativas do source.android.com. Para ver uma lista completa das alterações deste site, consulte o <a href="https://android.googlesource.com/platform/docs/source.android.com/+log/master?pretty=full&no-merges" class="external">log de docs/source.android.com</a> do Android Open Source Project (AOSP).
</p>
<h2 id="Aug-2018">Agosto de 2018</h2>
<p>Olá! Este é o site revisado do Android Open Source Project (AOSP).
À medida que nosso site cresceu, nós reorganizamos a navegação pela documentação da plataforma para acomodar melhor as informações novas e atualizadas.</p>
<p>Consulte as subseções abaixo para ver um guia das principais mudanças. Consulte as <a href="/setup/start/p-release-notes">Notas da versão</a> para ver resumos de recursos, atualizações e inclusões. Envie seu feedback registrando bugs em <a href="https://g.co/androidsourceissue" class="external">g.co/androidsourceissue</a> ou clicando no link <a href="https://issuetracker.google.com/issues/new?component=191476">Feedback do site</a> no rodapé de qualquer página do site.</p>
<h3 id="second-menu">Segundo menu horizontal</h3>
<p>A alteração mais abrangente é a introdução de um segundo menu horizontal de guias na navegação do site para expor melhor as páginas mais profundas.
Agora, em vez de menus de navegação à esquerda contendo dezenas de entradas, cada subguia contém uma pequena lista de seções e páginas diretamente relevantes para o tópico associado identificado na subguia.</p>
<p>Observe que, por enquanto, ainda não atualizamos os caminhos de diretório e os URLs da documentação existente para evitar marcadores e links corrompidos. Com o tempo, faremos essas mudanças e instituiremos os redirecionamentos adequados. Por isso, revisite o site para novos locais e atualize os favoritos ao encontrar as mudanças.</p>
<h3 id="set-up">De "Configuração" para "Configurar"</h3>
<p>A guia principal <strong>Configuração</strong> foi renomeada para <em>Configurar</em> para se alinhar aos verbos usados nas guias primárias subsequentes.
Os conteúdos de <strong>Fazer o download</strong> e <strong>Compilar</strong> foram divididos em subguias distintas para facilitar o acesso às páginas que eles contêm. A subseção <em>Desenvolver</em> foi renomeada como a subguia <strong>Criar</strong> para evitar confusão com a nova guia superior <strong>Desenvolver</strong> de mesmo nome.</p>
<p>As informações antes encontradas na página <em>Compatibilidade &gt; Fale conosco</em> foram mescladas na lista principal <strong>Configurar &gt; Contato (Comunidade)</strong>.
</p>
<h3 id="design">De "Compatibilidade" para "Design"</h3>
<p>As informações antes encontradas na guia superior <em>Compatibilidade</em> agora podem ser encontradas em <strong>Design</strong>. Consulte a subguia <strong>Compatibilidade</strong> para ter uma visão geral desse programa e encontrar links para o novo <em>documento de Definição de compatibilidade do Android (CDD, na sigla em inglês)</em>.</p>
<p>Em uma mudança relacionada, as instruções para o <em>Teste de Compatibilidade do Android (CTS, na sigla em inglês)</em> e as informações gerais de depuração foram movidas para uma nova subguia <strong>Testes</strong>. As diretrizes dos menus <strong>Exibir</strong> e <strong>Configurações</strong> foram deslocadas para subguias dedicadas.</p>
<h3 id="develop">De "Portabilidade" para "Desenvolver"</h3>
<p>A guia <em>Portabilidade</em> foi renomeada como <strong>Desenvolver</strong> para transmitir melhor as instruções nela contidas. Focada principalmente na implementação de interfaces individuais, essa documentação ajuda você a escrever os drivers necessários para conectar seu dispositivo ao sistema operacional Android.</p>
<p>Por isso, a seção <strong>Arquitetura</strong> que descreve o formato <em>HIDL</em> abrangente foi movida para a guia <strong>Design</strong> para consideração durante a fase de planejamento, nos primeiros estágios do ciclo de desenvolvimento. O conteúdo de <strong>Carregador de inicialização</strong> agora está em <strong>Design &gt; Arquitetura</strong>, enquanto uma subguia <strong>Interação</strong> foi introduzida para conter <em>Entrada</em>, <em>Sensores</em> e demais informações relacionadas.</p>
<p>A seção <strong>Conectividade</strong> foi reorganizada para incluir as subseções <strong>Bluetooth e NFC</strong> , <strong>Chamadas e mensagens</strong>, <strong>Operadora</strong> e <strong>Wi-Fi</strong>. Além disso, a seção Wi-Fi inclui os novos artigos a seguir:</p>
<ul>
<li><a href="/devices/tech/connect/wifi-overview">Visão geral</a></li>
<li><a href="/devices/tech/connect/wifi-hal">Wi-Fi HAL</a></li>
<li><a href="/devices/tech/connect/wifi-infrastructure">
Recursos de infraestrutura de Wi-Fi</a></li>
<li><a href="/devices/tech/connect/wifi-passpoint">Passpoint R1</a></li>
<li><a href="/devices/tech/connect/wifi-debug">Teste e depuração</a></li>
</ul>
<h3 id="configure">De "Ajuste" para "Configurar"</h3>
<p>A guia <em>Ajuste</em> foi renomeada como <strong>Configurar</strong> para abranger mais do que as etapas de personalização e otimização. A antiga subseção <em>Administração do dispositivo</em> agora pode ser encontrada em <strong>Empresa</strong>. O conteúdo de <em>ART e Dalvik</em> está em <strong>ART</strong>, e as informações de <em>Atualização Over the Air (OTA)</em> estão em <strong>Atualizações</strong>.</p>
<h2 id="Dec-2017">Dezembro de 2017</h2>
<p>
O Android 8.1 foi lançado. Consulte as entradas abaixo para ver os principais recursos da plataforma apresentados nessa versão.
</p>
<h3 id="aaudio">AAudio e MMAP</h3>
<p>
AAudio é uma API de áudio que tem melhorias para reduzir a latência quando usada junto com uma HAL e um driver compatível com MMAP. Consulte <a href="/devices/audio/aaudio">AAudio e MMAP</a> para ver uma documentação descrevendo a camada de abstração de hardware (HAL, na sigla em inglês) e as alterações de driver necessárias para oferecer compatibilidade com o recurso MMAP do AAudio no Android.
</p>
<h3 id="art-config">Alterações na configuração do ART</h3>
<p>
A opção do makefile <code>WITH_DEXPREOPT_BOOT_IMG_ONLY</code> foi removida do Android Runtime (ART) no Android 8.1 e substituída pela opção <code>WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY</code>, que pré-otimiza os jars do servidor do sistema, bem como o caminho de classe da inicialização. Consulte <a href="/devices/tech/dalvik/configure#build_options">Como configurar o ART</a> para ver o aviso suspensão de uso.
</p>
<h3 id="biometric-unlock">Medições de segurança de desbloqueio biométrico</h3>
<p>
O Android 8.1 apresenta duas novas métricas associadas a desbloqueios biométricos destinadas a ajudar os fabricantes de dispositivos a avaliarem a segurança com mais precisão: a Taxa de aceitação de impostor e a Taxa de aceitação de spoof (IAR e SAR, respectivamente, na sigla em inglês). Consulte <a href="/security/biometric/">Como medir a segurança de desbloqueio biométrico</a> para ver exemplos de ataques e da metodologia de teste.
</p>
<h3 id="boot-times">Otimizações do tempo de inicialização</h3>
<p>
A partir do Android 8.1, a configuração de economia de energia para componentes como o controlador de CPU e UFS pode ser desativada para melhorar os tempos de inicialização do dispositivo. Consulte <a href="/devices/tech/perf/boot-times#disable-power-saving">Como otimizar o tempo de inicialização</a> para as novas configurações de <code>init.*.rc</code>.
</p>
<h3 id="“color-mgmt”">Gerenciamento de cores</h3>
<p>
O Android 8.1 adiciona compatibilidade com o gerenciamento de cores, que pode ser usado para proporcionar uma experiência consistente em todas as tecnologias de tela. Os apps executados no Android 8.1 podem acessar os recursos completos de uma ampla gama de exibição para aproveitar ao máximo a tela do dispositivo. Consulte <a href="/devices/tech/display/color-mgmt">Gerenciamento de cores</a> para ver as instruções sobre como implementar, personalizar e testar esse recurso.
</p>
<h3 id="opengl-config">Simplificação da configuração do OpenGLRenderer</h3>
<p>
No Android 8.1 e versões posteriores, apenas <code>ro.zygote.disable_gl_preload
property</code> ainda se aplica à configuração do OpenGLRenderer. Todas as demais propriedades foram removidas. Consulte <a href="/devices/graphics/renderer">Configuração do OpenGLRenderer</a> para ver o aviso e as propriedades compatíveis anteriormente.
</p>
<h3 id="retail-mode">Modo de demonstração na loja facilitado</h3>
<p>
Com o Gerenciador da política de dispositivos, o Android 8.1 é compatível com a demonstração das funcionalidades do dispositivo em lojas por meio de um papel do usuário do tipo demonstração. Consulte <a href="/devices/tech/display/retail-mode.html">Modo de demonstração na loja</a> para ver as instruções de implementação.
</p>
<h3 id="textclassifier">TEXTCLASSIFIER</h3>
<p>
O Android 8.1 introduz a API TextClassfier, que usa técnicas de machine learning para ajudar os desenvolvedores a classificar o texto.
Consulte <a href="/devices/tech/display/textclassifier.html">TEXTCLASSIFIER</a> para ver as instruções de implementação.
</p>
<h3 id="timezone-rules">Regras de fuso horário</h3>
<p>
O Android 8.1 fornece um novo mecanismo para que os fabricantes de dispositivos (OEMs) possam enviar dados de regras de fuso horário atualizados para os dispositivos sem exigir uma atualização do sistema.
Esse mecanismo permite que os usuários recebam atualizações em tempo hábil e que os OEMs possam testar as atualizações de fuso horário independentemente das atualizações da imagem do sistema. Consulte <a href="/devices/tech/config/timezone-rules">Regras de fuso horário</a> para ver as instruções sobre como aplicar essas atualizações.
</p>
<h3 id="wifi-aware">Wi-Fi Aware</h3>
<p>
O recurso Wi-Fi Aware do Android 8.1 permite que dispositivos compatíveis se conectem diretamente uns aos outros por Wi-Fi sem precisar de acesso à Internet ou à rede celular.
Esse recurso permite o compartilhamento fácil de dados de alta capacidade entre dispositivos confiáveis e apps que estão fora da rede. Consulte <a href="/devices/tech/connect/wifi-aware">Wi-Fi Aware</a> para ver exemplos, arquivos de origem e links para outros documentos.
</p>
<h2 id="Nov-2017">Novembro de 2017</h2>
<p>
A seção <em>Origem</em> foi renomeada como <a href="/setup"><em>Configuração</em></a>. Há redirecionamentos em vigor para garantir que os URLs antigos ainda funcionem.
</p>
<h2 id="Sept-2017">Setembro de 2017</h2>
<p>
Este site foi lançado na China em <a href="https://source.android.google.cn" class="external-link">source.android.google.cn</a>.
Todos os materiais que não são de referência também foram traduzidos para o chinês simplificado para facilitar o uso.
</p>
<h2 id="August-2017">Agosto de 2017</h2>
<p>
O Android 8.0 foi lançado. Esta seção descreve os principais novos recursos da plataforma Android 8.0.
</p>
<h3 id="architecture">Arquitetura</h3>
<h4>Treble</h4>
<p>
O Android 8.0 é compatível com o Treble, um dos principais recursos de rearquitetura do framework do SO Android, projetado para fazer com que seja mais fácil, rápido e barato para os fabricantes atualizar os dispositivos para uma nova versão do Android. A documentação inclui detalhes sobre a <a href="/devices/architecture/hidl/index.html">linguagem de definição de interface HAL (HIDL, na sigla em inglês)</a>, uma nova <a href="/devices/architecture/configstore/index.html">HAL ConfigStore</a>, <a href="/devices/architecture/dto/index.html">sobreposições de árvore de dispositivos</a>, o <a href="/devices/architecture/vndk/index.html">Kit de desenvolvimento nativo de fornecedor (VNDK, na sigla em inglês)</a>, <a href="/devices/architecture/vintf/index.html">Objetos de interface de fornecedor (VINTF, na sigla em inglês)</a>, <a href="/devices/architecture/kernel/modular-kernels.html">requisitos de Kernel modular</a> e <a href="/devices/tech/vts/index.html">Infraestrutura e Pacote de teste de fornecedor (VTS, na sigla em inglês)</a>.
</p>
<h4>Compatibilidade com FunctionFS</h4>
<p>
<a class="external-link" href="https://www.kernel.org/doc/Documentation/usb/functionfs.txt">FunctionFS</a> (FFS) é uma função de gadget USB projetada e controlada por meio do espaço do usuário. A compatibilidade dela permite que todo o código específico de função e protocolo permaneça no espaço do usuário, enquanto todo o código de transporte USB permanece no kernel.
Usar FFS move a implementação do protocolo de transferência de mídia (MTP, na sigla em inglês) para o espaço do usuário.
</p>
<p>
No lado dos frameworks, a maioria das principais mudanças existem no MtpServer. A interface do driver USB foi refatorada em duas classes diferentes, uma que usa o driver antigo do kernel e outra que usa FFS. O MtpServer pode então usar essa interface de driver sem precisar conhecer os detalhes da implementação. O driver da FFS grava os descritores USB em um arquivo quando o servidor é inicializado. Em seguida, ele grava os dados em arquivos de endpoint de forma semelhante ao uso do driver do kernel.
</p>
<h4>Melhorias de kernel para depuração LLDB/C++</h4>
<p>
A versão do Android 8.0 inclui melhorias do kernel que ajudam os desenvolvedores a criar apps melhores, aprimorando a experiência de depuração deles. Para mais informações, consulte <a href="/devices/architecture/kernel/lldb-debug.html">Como implementar melhorias do kernel para depuração LLDB/C++</a>.
</p>
<h4>Aumento da proteção do kernel</h4>
<p>
Recursos e ferramentas para proporcionar um aumento da proteção do kernel ascendente para encontrar bugs nos drivers de kernel.
Para ver mais informações, consulte o <a href="/devices/architecture/kernel/hardening.html">Aumento da proteção do kernel</a>.
</p>
<h4>Como otimizar o SquashFS no nível do kernel</h4>
<p>
O SquashFS é um sistema de arquivos compactado somente leitura para Linux, adequado para uso na partição do sistema. As otimizações neste documento ajudam a melhorar o desempenho do SquashFS. Para ver mais informações, consulte <a href="/devices/architecture/kernel/squashfs.html">Como otimizar o SquashFS no nível do kernel</a>.
</p>
<h3 id="art-dalvik">ART e Dalvik</h3>
<h4>Teste de fuzz</h4>
<p>
O AOSP oferece um novo pacote para testes de fuzz para testar a infraestrutura do <a href="/devices/tech/dalvik/">Android Runtime (ART)</a>. O JFuzz, o novo conjunto de ferramentas, e um DexFuzz melhorado estão disponíveis diretamente no AOSP, agora acompanhando uma documentação. Consulte: <a href="https://android.googlesource.com/platform/art/+/master/tools/jfuzz/README.md">https://android.googlesource.com/platform/art/+/master/tools/jfuzz/README.md</a>
<a href="https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/README">https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/README</a>
</p>
<p>
Nada é necessário para implementar ou usar as novas ferramentas. Você pode fazer alterações nas ferramentas, se necessário, da mesma forma que já pode fazer alterações no tempo de execução/compilador.
</p>
<h4>Arquivos VDEX: melhorar o desempenho da atualização do sistema</h4>
<p>
Os arquivos VDEX melhoram o desempenho e a experiência do usuário das atualizações de software.
Os arquivos VDEX armazenam arquivos DEX pré-validados com dependências do verificador para que, durante as atualizações do sistema, o ART não precise extrair e verificar os arquivos DEX novamente. Nenhuma ação é necessária para implementar esse recurso. Ele é ativado por padrão. Para desativar o recurso, defina a variável de ambiente <code>ART_ENABLE_VDEX</code> como <code>false</code>.
</p>
<h4>Melhorias no desempenho do ART</h4>
<p>
O Android Runtime (ART) foi melhorado significativamente na versão Android 8.0. Este documento resume as melhorias que os fabricantes de dispositivos podem esperar no ART. Para ver mais informações, consulte <a href="/devices/tech/dalvik/improvements.html">Melhoria do desempenho do ART no Android 8.0</a>.
</p>
<h4>Atualizações OTA A/B do Android</h4>
<p>
Essa atualização responde a perguntas comuns que os fabricantes de dispositivos têm em relação às atualizações do sistema A/B (ininterruptas) do Android. Para ver mais informações, consulte as <a href="/devices/tech/ota/ab/ab_faqs.html">perguntas frequentes</a> das atualizações A/B.
</p>
<h3 id="automotive">Automóveis</h3>
<h4>Gerenciamento de conexão Bluetooth</h4>
<p>
O Android 8.0 fornece gerenciamento de conexão Bluetooth em sistemas de infoentretenimento no veículo (IVI, na sigla em inglês) para uma experiência do usuário perfeita com o Bluetooth. Para ver mais informações, consulte <a href="/devices/automotive/ivi_connectivity.html#bluetooth-connection-management">Gerenciamento de conexão Bluetooth</a>.
</p>
<h4>Bluetooth HFP compatível com vários dispositivos</h4>
<p>
A conectividade Bluetooth compatível com vários dispositivos permite que os usuários conectem vários dispositivos a perfis de telefonia em um IVI Bluetooth do Android Automotive. Para ver mais informações, consulte <a href="/devices/automotive/ivi_connectivity.html#bluetooth-multi-device-connectivity">Conectividade IVI</a>.
</p>
<h4>HAL da câmera veicular</h4>
<p>
Descreve o design de uma pilha do sistema de visualização externa (EVS, na sigla em inglês) e fornece a especificação HAL para ser compatível com a aquisição e apresentação de dados da câmera do veículo. Para mais informações, consulte <a href="/devices/automotive/camera-hal.html">Sistema de visualização externa (EVS) da HAL da câmera do veículo</a>.
</p>
<h3 id="bluetooth">Bluetooth</h3>
<p>
Consulte a <a href="/devices/bluetooth/index.html">Visão geral de Bluetooth</a> atualizada.
</p>
<h4>Verificação e depuração de Bluetooth</h4>
<p>
Para ver mais detalhes sobre como verificar e depurar a pilha Bluetooth nativa, consulte <a href="/devices/bluetooth/verifying_debugging.html">Verificação e depuração</a>.
</p>
<h4>Serviços Bluetooth</h4>
<p>
O Bluetooth oferece vários recursos que ativam serviços principais entre dispositivos, como streaming de áudio, chamadas telefônicas e mensagens. Para ver mais informações sobre os serviços do Android Bluetooth, consulte <a href="/devices/bluetooth/services.html">Serviços Bluetooth</a>.
</p>
<h4>Publicidade BLE</h4>
<p>
O Bluetooth 5 é compatível com diferentes modos de anúncios de dados para Bluetooth de baixa energia, incluindo maior largura de banda ou maior alcance. Para ver mais informações, consulte <a href="/devices/bluetooth/ble_advertising.html">Publicidade do Bluetooth de baixa energia</a>.
</p>
<h4>Codecs de áudio compatíveis com Bluetooth</h4>
<p>
A versão Android 8.0 inclui compatibilidade com codecs de áudio de alta definição do Bluetooth. Para ver mais informações, consulte <a href="/devices/bluetooth/services.html#advanced-audio-codecs">Codecs de áudio avançados</a>.
</p>
<h3 id="camera">Câmera</h3>
<h4>Recursos essenciais da câmera</h4>
<p>
A versão do Android 8.0 contém estas melhorias principais do serviço de Câmera: superfícies compartilhadas, que permitem que várias superfícies compartilhem a mesma API OutputConfiguration System para modos de câmera personalizados e onCaptureQueueEmpty. Para ver mais informações, consulte <a href="/devices/camera/versioning.html">Compatibilidade da versão da câmera</a>.
</p>
<h3 id="configuration">Configuração</h3>
<h4>Funcionalidades de ambiente</h4>
<p>
Essas funcionalidades permitem que os processos do Linux descartem a maioria dos privilégios de root, mantendo o subconjunto de privilégios de que precisam para executar a própria função.
As funcionalidades de ambiente permitem que os serviços do sistema configurem funcionalidades nos arquivos <code>.rc</code>, reunindo toda a configuração em um único arquivo.
Para ver mais informações, consulte <a href="/devices/tech/config/ambient.html">Como implementar as funcionalidades de ambiente</a>.
</p>
<h4>Requisito de lista de permissões privilegiadas</h4>
<p>
A partir do Android 8.0, todos os apps privilegiados precisam ser incluídos de forma explícita na lista de permissões nos arquivos XML de configuração do sistema no diretório <code>/etc/permissions</code>.
Se isso não ocorrer, o dispositivo será inicializado, mas a implementação dele não passará pelo CTS. Para ver mais informações, consulte <a href="/devices/tech/config/perms-whitelist.html">Requisito de lista de permissões privilegiadas</a>.
</p>
<h4>Como implementar a HAL de USB</h4>
<p>
A versão do Android 8.0 move o gerenciamento de comandos USB do scripts init para um daemon USB nativo para melhor configuração e confiabilidade de código. Para ver mais informações, consulte <a href="/devices/tech/config/usb-hal.html">Como implementar o HAL de USB</a>.
</p>
<h3 id="connectivity">Conectividade</h3>
<h4>Como personalizar o comportamento do dispositivo para usuários desbalanceados</h4>
<p>
Dispositivos Android sem balanceamento de dados permitem a passagem de tráfego de rede, exigindo que as operadoras e empresas de telecomunicações implementem protocolos de mitigação. Esse recurso implementa uma solução genérica que permite que as operadoras e empresas de telecomunicações indiquem quando um dispositivo está desbalanceado. Para ver mais informações, consulte <a href="/devices/tech/connect/oob-users.html">Como personalizar o comportamento do dispositivo para usuários desbalanceados</a>.
</p>
<h3 id="debugging">Depuração</h3>
<h4>Como ativar limpadores no sistema de criação do Android</h4>
<p>
Limpadores são componentes de instrumentação baseados em compiladores que são usados durante o desenvolvimento e teste para identificar bugs e melhorar o Android.
O conjunto atual de limpadores do Android pode descobrir e diagnosticar bugs de uso indevido de memória e comportamento indefinido potencialmente perigoso. Para ver mais informações, consulte <a href="/devices/tech/debug/sanitizers.html">Como ativar os limpadores no sistema de criação do Android</a>.
</p>
<h4>Recuperar dispositivos em ciclos de reinicialização</h4>
<p>
O Android 8.0 inclui um recurso que envia um "grupo de resgate" quando percebe que os principais componentes do sistema estão presos em ciclos de falha. O grupo de resgate passa então por uma série de ações para recuperar o dispositivo. Para ver mais informações, consulte <a href="/devices/tech/debug/rescue-party.html">Grupo de resgate</a>.
</p>
<h4>Storaged</h4>
<p>
O Android 8.0 inclui compatibilidade com o <code>storaged</code>, um daemon nativo do Android que coleta e publica métricas de armazenamento em dispositivos Android. Para ver mais informações, consulte <a href="/devices/tech/debug/storaged.html">Como implementar o storaged</a>.
</p>
<h3 id="display">Tela</h3>
<h4>Controle de tráfego aéreo para janelas flutuantes</h4>
<p>
O Android 8.0 introduz o Controle de tráfego aéreo para janelas flutuantes a fim de simplificar e unificar a forma como os apps são exibidos sobre outros apps. Todo o necessário para usar esse recurso está incluído no AOSP.
</p>
<p>
O Controle de tráfego aéreo permite que os desenvolvedores criem um novo tipo de camada/janela flutuante (gerenciada) para os apps que exibem janelas sobre outros apps. Esse recurso exibe notificações contínuas para todos os apps usando uma camada flutuante que permite ao usuário gerenciar a janela de alerta.
</p>
<p>
O Teste de Compatibilidade do Android (CTS, na sigla em inglês) confirma que:
</p>
<ul>
<li>os tipos de janelas de alerta atuais são <code>TYPE_PHONE</code>, <code>TYPE_PRIORITY_PHONE</code>, <code>TYPE_SYSTEM_ALERT</code>, <code>TYPE_SYSTEM_OVERLAY</code> ou <code>TYPE_SYSTEM_ERROR</code>;
</li>
<li>os apps destinados ao SDK do Android 8.0 não poderão usar os tipos de janela acima para exibir janelas sobre outros apps. Eles precisarão usar um novo tipo de janela <code>TYPE_APPLICATION_OVERLAY</code>;
</li>
<li>os apps destinados a SDKs mais antigos ainda poderão usar os tipos de janela atuais. No entanto, as janelas serão ordenadas em z abaixo das novas janelas <code>TYPE_APPLICATION_OVERLAY</code>;
</li>
<li>o sistema pode mover ou redimensionar as janelas na nova camada para reduzir a sobrecarga;
</li>
<li>os fabricantes de dispositivos mantêm a notificação que permite aos usuários controlar o que é exibido sobre outros apps.
</li>
</ul>
<h4>Como iniciar atividades em telas secundárias</h4>
<p>
Telas virtuais estão disponíveis para todos e não requerem nenhum hardware especial. Qualquer app pode criar uma instância de tela virtual. Na versão do Android 8.0, as atividades podem ser iniciadas nessa tela virtual se o recurso associado estiver ativado.
</p>
<p>
Para oferecer compatibilidade com recursos que usam várias telas, utilize uma das formas compatíveis existentes de conectar dispositivos secundários ou crie um novo hardware.
As formas compatíveis de conectar telas em dispositivos Nexus e Pixel são pelo Google Cast e <a href="https://developer.android.com/reference/android/hardware/display/VirtualDisplay.html" class="external">monitores virtuais dentro de apps</a>. A compatibilidade com outras formas depende da compatibilidade do driver do kernel para cada caso específico (como MHL ou DisplayPort via USB-C) e da implementação total de definições de interface relacionadas a telas na HAL HardwareComposer (<code>IComposerCallback.hal</code> e <code>IComposerClient.hal</code>).
</p>
<p>
Cada uma dessas formas pode exigir compatibilidade com SoC ou OEM. Por exemplo, para ativar o DisplayPort via USB-C, a compatibilidade com o hardware (SoC) e o software (drivers) é obrigatória. Pode ser necessário implementar drivers para que o hardware seja compatível com a conexão de telas externas.
</p>
<p>
A implementação padrão permitirá iniciar pilhas de atividades em tela cheia em telas secundárias. Você pode personalizar as pilhas e a IU do sistema, bem como o comportamento em telas secundárias.
</p>
<h4>Compatibilidade com dicas genéricas</h4>
<p>
O Android 8.0 permite que os desenvolvedores forneçam nomes de ação descritivos e outras informações úteis ao passar o cursor sobre os botões e outros ícones. Os fabricantes de dispositivos podem estilizar os pop-ups de dicas. O layout é definido em <code>android/frameworks/base/core/res/res/layout/tooltip.xml</code>.
</p>
<p>
Os OEMs podem substituir o layout ou alterar as dimensões e parâmetros de estilo dele. Use apenas texto e mantenha o tamanho razoavelmente pequeno. Esse recurso é implementado inteiramente dentro da classe de visualização, e há testes de CTS bastante exaustivos que verificam muitos aspectos do comportamento das dicas.
</p>
<p>
</p><h4>Compatibilidade com proporção ampliada</h4>
<p>
O Android 8.0 inclui um novo atributo de manifesto, o <a href="https://developer.android.com/reference/android/R.attr.html#maxAspectRatio" class="external">maxAspectRatio</a>, que permite que uma atividade ou um app especifique a proporção máxima compatível.
O maxAspectRatio substitui a tag de metadados anterior por uma API de primeira classe e permite que os dispositivos sejam compatíveis com uma proporção maior que 16:9.
</p>
<ul>
<li>Se uma atividade ou um app for <a href="https://developer.android.com/guide/topics/ui/multi-window.html#configuring" class="external">redimensionável</a>, permita que a atividade preencha a tela.
</li><li>
Se não for possível redimensionar uma atividade ou um app, ou se a plataforma forçar o redimensionamento da atividade, permita que a janela do app seja expandida até a proporção máxima de acordo com o valor de <a href="https://developer.android.com/reference/android/R.attr.html#maxAspectRatio" class="external">maxAspectRatio</a>.
<ul>
<li>Para apps em dispositivos que executam o Android 8.0, o valor padrão é a proporção do dispositivo atual.</li>
<li>Para apps em dispositivos que executam versões anteriores do Android, o valor padrão é 16:9.</li>
</ul>
</li>
</ul>
<h4>Como implementar ícones adaptáveis</h4>
<p>
Os ícones adaptáveis mantêm uma forma consistente no dispositivo, mas variam de um dispositivo para o outro com apenas um recurso de ícone fornecido pelo desenvolvedor. Além disso, os ícones são compatíveis com duas camadas (primeiro e segundo planos) que podem ser usadas para oferecer uma experiência mais bonita aos usuários. Para ver mais informações, consulte <a href="/devices/tech/display/adaptive-icons.html">Como implementar os ícones adaptáveis</a>.
</p>
<h4>Modo noturno</h4>
<p>
O Modo noturno, introduzido no Android 7.0.1, permite que os usuários reduzam a quantidade de luz azul que a tela emite. O Android 8.0 oferece aos usuários maior controle sobre a intensidade desse efeito. Para ver mais informações, consulte <a href="/devices/tech/display/night-light.html">Como implementar o Modo noturno</a>.
</p>
<h4>Picture-in-picture</h4>
<p>
O Android 8.0 inclui compatibilidade com picture-in-picture (PIP) em dispositivos Android portáteis. O PIP permite que os usuários redimensionem um app com uma atividade em andamento, como um vídeo, para exibição em uma janela pequena. Para ver mais informações, consulte <a href="/devices/tech/display/pip.html">Picture-in-Picture em dispositivos Android portáteis</a>.
</p>
<h4>Melhores interações de tela dividida</h4>
<p>
O uso do recurso "Várias janelas" permite que vários apps sejam exibidos simultaneamente nas telas do dispositivo dos usuários. O Android 8.0 melhora o modo padrão de tela dividida compactando a parte superior e redimensionando a tela de início se um usuário tocar em Início depois de entrar na tela dividida. Para ver mais informações, consulte <a href="/devices/tech/display/split-screen.html">Melhores interações de tela dividida</a>.
</p>
<h4>Adicionar widgets/atalhos</h4>
<p>
Uma nova API no Android 8.0 permite que os desenvolvedores de apps adicionem atalhos e widgets de dentro do app em vez de depender da bandeja de widgets. O uso do método anterior de adicionar atalhos enviando uma transmissão foi suspenso por motivos de segurança. Para ver mais informações, consulte <a href="/devices/tech/display/widgets-shortcuts.html">Como implementar widgets/atalhos</a>.
</p>
<h3 id="downloading-building">Download e criação</h3>
<h4>Melhorias na cadeia de ferramentas LLVM do Android</h4>
<p>
Os OEMs que quiserem usar nossas cadeias de ferramentas/ferramentas mais recentes precisarão garantir que o código privado seja compilado com êxito com as cadeias de ferramentas atualizadas. Isso pode exigir que eles corrijam problemas existentes no código com comportamento indefinido. E, é claro, eles podem usar qualquer ferramenta que preferirem para compilar o próprio código.
</p>
<p>
Eles precisarão garantir que o código esteja livre de comportamentos indefinidos (usando ferramentas como o UBSan) para que ele seja menos suscetível a problemas causados por cadeias de ferramentas mais novas.
Todas as cadeias de ferramentas sempre são atualizadas diretamente no AOSP. Tudo estará disponível muito antes do OC ser enviado, então os OEMs já precisam começar a se adaptar.
</p>
<p>
Consulte a documentação do <a href="https://llvm.org/" class="external">Clang/LLVM públicos</a> (em inglês) para ver instruções gerais e o conjunto de documentação do <a href="https://android.googlesource.com/platform/external/clang/+/master/ReadmeAndroid.md" class="external">Clang/LLVM Android</a> (também em inglês) no AOSP para receber orientação específica do Android.
Por fim, entre no grupo público <a href="https://groups.google.com/forum/#!forum/android-llvm">android-llvm</a> para receber ajuda e participar do desenvolvimento.
</p>
<h3 id="drm-kms">DRM/KMS</h3>
<h4>DRM/KMS na versão 4.9 do kernel do Linux</h4>
<p>
O framework Direct Rendering Manager (DRM)/Kernel Mode Setting (KMS) usado pelo Android é desenvolvido e mantido pelos desenvolvedores de kernel do Linux. O Android é uma mescla do kernel do Linux. Ao se fundir a partir do nosso kernel comum, os fabricantes de dispositivos automaticamente adquirem o framework DRM/KMS.
</p>
<p>
O DRM/KMS se tornou viável na versão 4.9 do kernel do Linux, e o Android <strong>recomenda fortemente</strong> que os parceiros OEM usem o DRM/KMS a partir dessa versão do kernel.
O <a href="https://lwn.net/Articles/565422/" class="external">Atomic Display Framework (ADF)</a>, o framework de exibição compatível oficial no momento, não será mais compatível nas versões 4.9 e posteriores do kernel comum do Android. Em vez disso, o Android será compatível com o DRM/KMS dessa versão. Os OEMs podem continuar usando o ADF (ou qualquer outro framework), mas o Android não será compatível com eles no kernel comum do Android.
</p>
<p>
Para implementar o DRM/KMS, será preciso escrever seus próprios drivers usando o DRM/KMS, além de fundir o framework do DRM/KMS com o kernel comum do Android.
</p>
<h3 id="keystore">Armazenamento de chaves</h3>
<h4>Keymaster 3</h4>
<p>
O Android 8.0 atualiza o Keymaster, a HAL de armazenamento de chaves, ampliando as funcionalidades de armazenamento de chaves por hardware em dispositivos Android. Isso se baseia nas atualizações do Android 7.1.2 para o Keymaster 2. Para ver mais informações, consulte a <a href="/security/keystore/index.html">documentação do Keymaster 3</a>.
</p>
<h3 id="security-enhancements">Melhorias na segurança</h3>
<h4>Substituto inseguro da versão de TLS removido de HttpsURLConnection</h4>
<p>
O substituto inseguro da versão do protocolo TLS/SSL é uma solução alternativa para implementações com bugs da negociação de downgrade do protocolo TLS em alguns servidores. Ele é vulnerável ao POODLE. Quando o Chrome 45 suspendeu o substituto inseguro, em setembro de 2015, menos de 0,01% dos servidores o utilizavam. Para melhorar a segurança, o substituto inseguro da versão do TLS foi removido do <a href="https://developer.android.com/reference/javax/net/ssl/HttpsURLConnection.html" class="external">HttpsURLConnection</a> no Android 8.0. Para ver mais detalhes, consulte <a href="https://android-developers.googleblog.com/2017/04/android-o-to-drop-insecure-tls-version.html
" class="external">esta postagem do blog</a> (em inglês).
</p>
<p>
Para testar esse recurso em dispositivos com o Android 8.0, execute este caso de teste do CTS:
</p>
<pre class="devsite-click-to-copy devsite-terminal" data-terminal-prefix="# ">
cts-tradefed run cts -m CtsLibcoreOkHttpTestCases</pre>
<h3 id="performance">Desempenho</h3>
<h4>Gerenciamento de flash wear</h4>
<p>
Descreve o comportamento do eMMC e os novos recursos para ajudar os OEMs a reduzir o risco de falha do eMMC no ambiente automotivo. Para ver mais informações, consulte <a href="/devices/tech/perf/flash-wear.html">Gerenciamento do flash wear no Android Automotive</a>.
</p>
<h4>Otimização dos tempos de inicialização</h4>
<p>
Orientação para melhorar os tempos de inicialização de dispositivos Android específicos. Para ver mais informações, consulte <a href="/devices/tech/perf/boot-times.html">Otimização dos tempos de inicialização</a>.
</p>
<h4>Resumos de tarefas</h4>
<p>
Resumos de tarefas é a infraestrutura introduzida no Android 8.0, que combina capturas de tela para Miniaturas recentes e Superfícies salvas do Gerenciador de janelas para economizar memória. Para ver mais informações, consulte <a href="/devices/tech/perf/task-snapshots.html">Resumos de tarefas</a>.
</p>
<h3 id="peripherals">Periféricos</h3>
<h4>Serviços de impressão padrão</h4>
<p>
Um <a href="https://developer.android.com/reference/android/printservice/PrintService.html" class="external">serviço de impressão</a> é um app que descobre e apresenta impressoras para o framework de impressão de um dispositivo. Nas versões anteriores do Android, os usuários precisavam procurar e instalar serviços de impressão de terceiros para poder imprimir.
</p>
<p>
O Android 8.0 inclui um serviço de impressão padrão em <code><a href="https://android.googlesource.com/platform/packages/services/BuiltInPrintService/" class="external">platform/packages/services/BuiltInPrintService/</a></code>, que permite aos usuários imprimir em impressoras modernas sem precisar instalar outros apps.
Essa implementação é compatível com impressoras que usam o Internet Printing Protocol (IPP) para se comunicar com a impressora e usam PCLm, PWG-Raster ou PDF para enviar conteúdo para impressão. No caso de impressoras mais antigas, os usuários terão que instalar o app recomendado pelo <a href="https://android.googlesource.com/platform/frameworks/base/+/master/packages/PrintRecommendationService/" class="external">PrintRecommendationService</a>, conforme informado <a href="https://youtu.be/M_JGeGLpOKs?t=16m20s" class="external">nesta apresentação do I/O</a>.
</p><h3 id="reference">Atualizações de referência</h3>
<p>
A seção <a href="/reference/">Referência</a> foi adicionada à navegação superior. Como parte do lançamento do <a href="/devices/architecture/treble">Treble</a>, uma seção de <a href="/reference/hidl/">referência de HIDL</a> foi adicionada. A documentação da <a href="/reference/tradefed/">Trade Federation</a> e da <a href="/reference/hal/">HAL legada</a> foi atualizada.
</p>
<h3 id="settings-menu">Menu Config.</h3>
<h4>Configurações: padrões e componentes</h4>
<p>
No Android 8.0, o menu Config. ganhou vários componentes e widgets que abrangem os usos comuns. Para ver mais informações, consulte <a href="/devices/tech/settings/patterns-components.html">Padrões e componentes</a>.
</p>
<h4>Configurações: arquitetura de informações atualizada</h4>
<p>
O Android 8.0 apresenta uma nova arquitetura de informações para o app Config.
A meta da nova arquitetura de informações é simplificar a maneira como as configurações são organizadas e facilitar para os usuários a tarefa de encontrar rapidamente as configurações necessárias para personalizar os dispositivos Android. Para ver mais informações, consulte <a href="/devices/tech/settings/info-architecture.html">Como implementar a arquitetura de informações atualizada</a>.
</p>
<h4>Configurações personalizadas</h4>
<p>
O app de configurações do Android fornece uma lista de sugestões para os usuários. Esse recurso fornece classificação para sugestões com base em qualquer sinal de contexto ou nas interações passadas do usuário com sugestões. Para ver mais informações, consulte <a href="/devices/tech/settings/personalized.html">Configurações personalizadas</a>.
</p>
<h4>Como implementar configurações: pesquisa universal</h4>
<p>
O Android 8.0 adiciona mais recursos de pesquisa ao menu Config. Este documento descreve como adicionar uma configuração e garantir que ela seja devidamente indexada em Config. Para ver mais informações, consulte <a href="/devices/tech/settings/universal-search.html">Pesquisa universal</a>.
</p>
<h3 id="storage">Armazenamento</h3>
<h4>Estatísticas de armazenamento mais rápidas</h4>
<p>
O Android 8.0 aproveita a compatibilidade da cota do sistema de arquivos ext4 para retornar as estatísticas de uso do disco quase instantaneamente. Para ver mais informações, consulte <a href="/devices/storage/faster-stats.html">Como implementar estatísticas de armazenamento mais rápidas</a>.
</p>
<h2 id="april-2017">Abril de 2017</h2>
<p>
Apresentamos o novo source.android.com. O site foi reformulado para facilitar a navegação, a pesquisa e a leitura do crescente grupo de informações. Aqui está um resumo das melhorias:
</p>
<h3 id="screen-estate">Mais espaço na tela, maior tamanho da fonte</h3>
<p>
Todo o site está mais amplo, permitindo que você veja mais conteúdo de uma só vez. As amostras de código e comandos estão mais visíveis, e todo o texto foi ampliado.
</p>
<h3 id="mobile-ready">Visualização otimizada para dispositivos móveis</h3>
<p>O novo site é renderizado de forma mais limpa em aparelhos portáteis, com uma visualização dedicada aos dispositivos móveis.
</p>
<img src="../images/mobile-view.png" alt="nova visualização em dispositivos móveis" height="533px"/>
<figcaption><strong>Figura 1.</strong> Nova visualização do site em dispositivos móveis</figcaption>
<h3 id="top-tabs">Novas guias superiores</h3>
<p>
A antiga guia <em>Dispositivos</em> foi renomeada para <a href="/devices/">Portabilidade</a>, enquanto a antiga subguia <em>Tecnologias principais</em> foi renomeada para <a href="/devices/tech/">Ajustes</a> e movida para o topo do site para maior exposição.
</p>
<h3 id="security-forefront">Segurança na vanguarda</h3>
<p>
Com um foco cada vez maior na segurança do Android, a guia <a href="/security/">Segurança</a> foi movida para a frente (ao lado de <a href="/setup/">Origem</a>) para refletir a importância desse tema.
</p>
<h3 id="reference-materials">Materiais de referência melhores</h3>
<p>
Os materiais de referência de <a href="/reference/hal/">Camada de abstração de hardware</a> e <a href="/reference/tradefed/packages">Trade Federation</a> estão disponíveis diretamente na guia <a href="/reference/">Referência</a> superior.
</p>
<h3 id="code-links">Links de código permanentes</h3>
<p>
O <a href="https://android.googlesource.com/" class="external">repositório de códigos do AOSP</a> está a apenas um clique, com o botão <strong>Ir para o código</strong> no canto superior direito de todas as páginas.
</p>
<h3 id="comprehensive-footers">Rodapés completos</h3>
<p>
Além dos rodapés <em>Sobre</em>, <em>Comunidade</em> e <em>Termos legais</em> existentes, agora você encontra uma lista completa de links na parte inferior de todas as páginas para criação do Android, pode se conectar ao ecossistema e procurar ajuda para usar o sistema operacional.
</p>
</body></html>