Skip to content

Most visited

Recently visited

navigation

Assinar o aplicativo

O Android exige que todos os APKs sejam assinados digitalmente com um certificado antes de serem instalados. Este documento descreve como assinar APKs usando o Android Studio, incluindo a criação e armazenamento do certificado, a assinatura de diferentes configurações de compilação usando certificados distintos e a configuração do processo de compilação para assinatura automática dos APKs.

Certificados e repositórios de chaves

Os certificados de chave pública, também conhecidos como certificados digitais ou de identidade, contêm a chave pública de um par de chaves públicas/privadas, bem como outros metadados que identificam o proprietário da chave (por exemplo, nome e localização). O proprietário do certificado mantém a chave privada correspondente.

Ao assinar um APK, a ferramenta de assinatura anexa o certificado de chave pública ao APK. O certificado de chave pública atua como uma "impressão digital" que associa unicamente o APK a você e à chave privada correspondente. Isso ajuda o Android a garantir que todas as atualizações futuras do APK sejam autênticas e provenientes do autor original. A chave usada para criar esse certificado é chamada de chave de assinatura de aplicativos.

Repositório de chaves é um arquivo binário que contém uma ou mais chaves privadas.

Todo aplicativo deve usar o mesmo certificado durante toda a vida útil para que os usuários sejam capazes de instalar novas versões como atualizações do aplicativo. Para saber mais sobre os benefícios de usar o mesmo certificado para todos os aplicativos durante toda sua vida útil, consulte Considerações sobre assinaturas abaixo.

Assinar a compilação de depuração

Durante a execução ou depuração do projeto no IDE, o Android Studio assina automaticamente o APK com um certificado de depuração gerado pelas ferramentas do Android SDK. A primeira vez que um projeto é executado ou depurado no Android Studio, o IDE cria automaticamente o repositório de chaves e o certificado de depuração em $HOME/.android/debug.keystore e define as senhas do repositório de chaves e da chave.

Como o certificado de depuração é criado pelas ferramentas de compilação e é, por projeto, inseguro, a maioria dos repositórios de aplicativos (inclusive o Google Play Store) não aceita a publicação de um APK assinado com um certificado de depuração.

O Android Studio armazena automaticamente as informações de assinatura de depuração em uma configuração de assinatura, evitando que você tenha que inseri-las a cada depuração. Configuração de assinatura é um objeto que consiste em todas as informações necessárias para assinar um APK, inclusive a localização e a senha do repositório de chaves, e o nome e a senha da chave. Não é possível editar diretamente a configuração de assinatura de depuração, mas é possível configurar a forma como assina a compilação de lançamento.

Para obter mais informações sobre como compilar e executar aplicativos para depuração, consulte Compilar e executar seu aplicativo.

Expiração do certificado de depuração

O certificado autoassinado usado para assinar o APK na depuração tem uma data de expiração de 365 dias a partir da data de criação. Quando o certificado expira, é gerado um erro de compilação.

Para corrigir o problema, basta excluir o arquivo debug.keystore. O arquivo é armazenado nos seguintes locais:

Na próxima vez que você compilar e executar o tipo de compilação de depuração, as ferramentas de compilação gerarão um novo repositório de chaves e uma nova chave de depuração. Observe que você tem de executar o aplicativo. A compilação por si só não gera novamente o repositório de chaves e a chave de depuração.

Gerenciar a chave

Como sua chave de assinatura de aplicativo é usada para verificar sua identidade como desenvolvedor e para garantir atualizações seguras e tranquilas para usuários, é muito importante gerenciar a chave e mantê-la em segurança, tanto para você quanto para os usuários. Você pode escolher usar a assinatura de aplicativo Google Play para gerenciar e armazenar com segurança sua chave de assinatura de aplicativo usando a infraestrutura do Google, ou gerenciar e proteger seu próprio keystore e chave de assinatura de aplicativo.

Usar a Assinatura de aplicativos Google Play

Ao usar a Assinatura de aplicativos Google Play, você usará duas chaves: a chave de assinatura de aplicativo e a chave de upload. O Google gerencia e protege para você a chave de assinatura de aplicativo, e você fica com a chave de upload e a usa para assinar seus aplicativos para fazer upload na loja Google Play.

Ao aceitar usar a Assinatura de Aplicativo do Google Play, você exporta e criptografa a chave de assinatura de aplicativo usando a ferramenta Play Encrypt Private Key fornecida pelo Google Play, e depois faz o upload dela na infraestrutura do Google. Depois, crie uma chave de upload separada e registre-a no Google. Quando você estiver pronto(a) para publicar, assine seu aplicativo usando a chave de upload e faça o upload dela no Google Play. O Google usa o certificado de upload para verificar sua identidade e assina novamente seu APK com sua chave de assinatura de aplicativo para distribuição, como mostra a figura 1. (Se você ainda não tiver uma chave de assinatura de aplicativo, gere uma durante o processo de inscrição.)

Figura 1. Assinar um aplicativo com a Assinatura de Aplicativo do Google

Ao usar a Assinatura de Aplicativo do Google Play, se você perder sua chave de upload ou ela for comprometida, entre em contato com o Google para revogar sua chave de upload antiga e gerar uma nova. Como sua chave de assinatura de aplicativo é protegida pelo Google, você pode continuar fazendo upload de novas versões de seu aplicativo como atualizações para o aplicativo original, mesmo que você mude de chave de upload.

Para saber mais sobre como aceitar o uso da Assinatura de Aplicativo do Google Play, consulte Gerenciar suas chaves de assinatura de aplicativo.

Gerenciar sua própria chave e repositório de chaves

Em vez de usar a assinatura de aplicativo Google Play, escolha gerenciar sua própria chave de assinatura de aplicativo e repositório de chaves. Se você optar por gerenciar sua própria chave de assinatura de aplicativo e repositório de chaves, será responsável pela proteção da chave e do repositório. É preciso escolher uma senha forte para o repositório de chaves e uma senha forte separada para cada chave privada armazenada nesse repositório de chaves. É necessário manter o repositório de chaves em um local seguro e protegido. Se você perder o acesso à sua chave de assinatura de aplicativo ou ela for comprometida, o Google não conseguirá recuperá-la, e você não poderá lançar novas versões de seu aplicativo para os usuários como atualizações para o aplicativo original. Para obter mais informações, consulte Proteger sua chave abaixo.

Se você gerenciar seu próprio repositório de chaves e chave de assinatura de aplicativo, ao assinar seu APK, assinará localmente usando sua chave de assinatura de aplicativo e fará upload do APK assinado diretamente na Google Play Store para distribuição, como mostra a figura 2.

Figura 2. Assinatura de um aplicativo ao gerenciar sua própria chave de assinatura de aplicativo

Assinar um APK

Independentemente de como você escolhe gerenciar a chave e o repositório de chaves, use o Android Studio para assinar seus APKs (com a chave de upload ou com a chave de assinatura de aplicativo) manualmente ou configurando seu processo de compilação para assinar automaticamente os APKs.

Se optar por gerenciar e proteger sua própria chave de assinatura de aplicativo e repositório de chaves, você assinará seus APKs com a chave de assinatura de aplicativo. Se você optar por usar a Assinatura de Aplicativo do Google Play para gerenciar e proteger sua chave de assinatura de aplicativo e keystore, você assinará seus APKs com sua chave de upload.

Gerar uma chave e um repositório de chaves

Gere uma chave de assinatura de aplicativo ou de upload usando o Android Studio e executando uma destas etapas:

  1. Na barra de menus, clique em Build > Generate Signed APK.
  2. Selecione um módulo na lista suspensa e clique em Next.
  3. Clique em Create new para criar uma nova chave e repositório de chaves.

  4. Na janela New Key Store, forneça as informações a seguir para o repositório de chaves e a chave, como mostrado na figura 3.

    Figura 3. Criação de um novo repositório de chaves no Android Studio.

    Keystore

    • Key store path: selecione o local onde o repositório de chaves deve ser criado.
    • Password: crie e confirme uma senha segura para o repositório de chaves.

    Key

    • Alias: insira um nome de identificação para a chave.
    • Password: crie e confirme uma senha segura para a chave. Essa senha deve ser diferente da senha escolhida para o repositório de chaves
    • Validity (years): defina o período de validade da chave, em anos. A chave precisa ser válida por 25 anos ou mais para que seja possível assinar atualizações de aplicativos com a mesma chave durante a vida útil do aplicativo.
    • Certificate: insira algumas informações pessoais para o certificado. Essas informações não são exibidas no aplicativo, mas são incluídas no certificado como parte do APK.

    Após preencher o formulário, clique em OK.

  5. Continue para Assinar manualmente um APK se você quiser gerar um APK assinado com sua nova chave, ou clique em Cancelar se você quiser apenas gerar uma chave e um repositório de chavse, e não assinar um APK.
  6. Se você quiser aceitar e usar a Assinatura de Aplicativo do Google Play, vá para Gerenciar suas chaves de assinatura de aplicativo e siga as instruções de configuração da Assinatura de Aplicativo do Google Play.

Assinar manualmente um APK

Você pode usar o Android Studio para gerar manualmente APKs assinados, um a um ou várias variações de compilação ao mesmo tempo. Em vez de assinar manualmente APKs, você também pode definir as configurações de compilação do Gradle para assinatura automática durante o processo de compilação. Esta seção descreve o processo de assinatura manual. Para saber mais sobre a assinatura de aplicativos como parte do processo de compilação, consulte Configurar o processo de compilação para assinatura automática do APK.

Para assinar automaticamente o APK para lançamento no Android Studio, siga estas etapas:

  1. Clique em Build > Generate Signed APK para abrir a janela Generate Signed APK. (Se você acabou de gerar uma chave e um repositório de chaves conforme descrito acima, essa janela já estará aberta.)
  2. Na janela Generate Signed APK Wizard, selecione um repositório de chaves, uma chave privada e insira suas senhas. (Se você acabou de criar o repositório de chaves na etapa anterior, esses campos já estarão preenchidos.) Clique em Next.

    Observação: Se você estiver usando a Assinatura de Aplicativo do Google Play, especifique sua chave de upload aqui. Em vez disso, se você estiver gerenciando sua própria chave de assinatura de aplicativo e repositório de chaves, especifique sua chave de assinatura de aplicativo. Para saber mais, consulte Gerenciar sua chave acima.

    Figura 4. Seleção de uma chave privada no Android Studio.

  3. Na próxima janela, selecione um destino para os APKs assinados, selecione o tipo de compilação, escolha as variações do produto (se for o caso) e clique em Finish.

    Figura 5. Geração de APKs assinados para as variações de produto selecionadas.

    Observação: Se o projeto usar variações de produto, é possível selecionar mais de uma variação de produto mantendo pressionada a tecla Control no Windown/Linux ou a tecla Command no Mac OSX. O Android Studio gerará um APK separado para cada variação de produto selecionada.

Após a conclusão do processo, o APK estará assinado na pasta de destinos selecionada acima. Você pode distribuir o APK assinado por meio de uma loja de aplicativos como o Google Play Store ou usando seu mecanismo preferido. Para saber mais sobre como publicar um APK assinado no Google Play Store, consulte Primeiros passos com publicações. Para saber mais sobre outras opções de distribuição, leia Opções de distribuição alternativas.

Para que os usuários instalem atualizações do aplicativo, será necessário assinar os APKs com o mesmo certificado durante a vida útil do aplicativo. Para saber mais sobre esse e outros benefícios de assinar todos os aplicativos com a mesma chave, consulte Considerações sobre assinaturas abaixo. Para saber mais sobre a proteção da chave privada e do repositório de chaves, consulte Proteger a chave abaixo.

Configurar o processo de compilação para assinatura automática do APK

No Android Studio, é possível configurar o projeto para assinar automaticamente o APK de lançamento durante o processo de compilação criando uma configuração de assinatura e atribuindo-a ao tipo de compilação de lançamento. A configuração de assinatura consiste em um local do repositório de chaves, uma senha do repositório de chaves, um alias da chave e uma senha da chave. Para criar uma configuração de assinatura e atribuí-la ao tipo de compilação de lançamento usando o Android Studio, siga estas etapas:

  1. Na janela Project, clique com o botão direito no aplicativo e clique em Open Module Settings.
  2. Na janela Project Structure, em Modules no painel esquerdo, clique no módulo que quer assinar.
  3. Clique na guia Signing e, em seguida, em Add .
  4. Selecione o arquivo do repositório de chaves, insira um nome para essa configuração de assinatura (pois é possível criar mais de uma) e insira as informações necessárias.

    Figura 6. Janela de criação de uma nova configuração de assinatura.

  5. Clique na guia Build Types.
  6. Clique na compilação release.
  7. Em Signing Config, selecione a configuração de assinatura recém-criada.

    Figura 7. Seleção de uma configuração de assinatura no Android Studio.

  8. Clique em OK.

Agora, em todas as compilações do tipo de compilação de lançamento usando o Android Studio, o IDE assinará o APK automaticamente usando a configuração de assinatura especificada. Localize seus APKs assinados na pasta build/outputs/apk/ dentro do diretório do projeto do módulo que você está compilando.

Ao criar uma configuração de assinatura, as informações de assinatura são criadas em texto simples nos arquivos de compilação do Gradle. Se você trabalha em equipe ou compartilha publicamente o código, remova as informações dos arquivos de compilação e armazene-as separadamente para manter a segurança. Para mais informações sobre remoção de informações de assinatura dos arquivos de compilação, veja Remover informações de assinatura dos arquivos de compilação. Para saber mais sobre como manter as informações de assinatura seguras, leia Proteger a chave.

Assinar cada variação de produto de forma diferente

Se o aplicativo usar variações de produto e você quiser assinar cada variação de forma diferente, será possível criar configurações de assinatura adicionais e atribuí-las a cada variação:

  1. Na janela Project, clique com o botão direito no aplicativo e clique em Open Module Settings.
  2. Na janela Project Structure, em Modules no painel esquerdo, clique no módulo que quer assinar.
  3. Clique na guia Signing e, em seguida, em Add .
  4. Selecione o arquivo do repositório de chaves, insira um nome para essa configuração de assinatura (pois é possível criar mais de uma) e insira as informações necessárias.

    Figura 8. Janela de criação de uma nova configuração de assinatura.

  5. Repita as etapas 3 e 4 conforme a necessidade até criar todas as configurações de assinatura.
  6. Clique na guia Flavors.
  7. Clique na variação que quer configurar e selecione a configuração de assinatura adequada no menu suspenso Signing Config.

    Figura 9. Definição de configurações de assinatura por variação de produto.

    Repita para configurar todas as outras variações de produto.

  8. Clique em OK.

Você também pode especificar as configurações de assinatura nos arquivos de configuração do Gradle. Para obter mais informações, consulte Definir configurações de assinatura.

Assinar aplicativos do Android Wear

Se você estiver compilando um aplicativo do Android Wear, o processo de assinatura do aplicativo pode ser um pouco diferente do processo descrito nesta página. Consulte as informações sobre empacotamento e publicação de aplicativos do Android Wear.

Considerações sobre assinaturas

Todos os APKs devem ser assinados com o mesmo certificado durante a vida útil dos aplicativos. Existem diversas razões para isso:

Se você pretende oferecer suporte a upgrades para um aplicativo, verifique se a chave de assinatura do aplicativo tem um período de validade que ultrapassa a vida útil do aplicativo. Recomendamos um período de validade de 25 anos ou mais. Quando o período de validade da chave expirar, os usuários não poderão mais fazer upgrade do aplicativo para novas versões de forma transparente.

Se você pretende publicar os aplicativos no Google Play, a chave usada para assinar esses APKs deve ter um período de validade terminando após 22 de outubro de 2033. O Google Play impõe esse requisito para garantir que os usuários possam fazer upgrade de aplicativos de forma transparente quando novas versões estiverem disponíveis. Se você usar a Assinatura de aplicativos Google Play, o Google verificará se os seus aplicativos estão assinados corretamente e se são capazes de receber atualizações durante toda a vida útil.

Proteger sua chave

Se você escolher gerenciar e proteger sua chave de assinatura de aplicativos e repositório de chaves por conta própria (em vez de usar a Assinatura de aplicativos Google Play), a proteção de sua chave de assinatura de aplicativos será de extrema importância, tanto para você quanto para o usuário. Se você permitir que alguém use a chave ou deixar o repositório de chaves e as senhas em local desprotegido, permitindo que terceiros encontrem e usem essas informações, sua identidade de autor e a confiança dos usuários ficarão comprometidas.

Observação: Se você usar a Assinatura de aplicativos Google Play, sua chave de assinatura de aplicativo será mantida segura por meio da infraestrutura do Google. Você ainda precisa manter sua chave de upload protegida, conforme descrito abaixo. Se a sua chave de upload for comprometida, entre em contato com o Google para revogá-la e receber uma nova chave de upload.

Se uma outra pessoa conseguir obter a sua chave sem o seu conhecimento ou permissão, poderá assinar e distribuir aplicativos que substituem ou corrompem aplicativos autênticos com finalidades indevidas. Essa pessoa também poderá, usando a sua identidade, assinar e distribuir aplicativos que atacam outros aplicativos ou o próprio sistema, ou corromper e roubar dados dos usuários.

A sua chave privada será exigida para assinar todas as versões futuras do aplicativo. Se você perder ou não souber onde está a chave, não poderá publicar atualizações para o aplicativo existente. Não é possível gerar novamente uma chave já gerada.

A sua reputação como entidade desenvolvedora depende da proteção adequada de sua chave de assinatura de aplicativos, em todos os momentos, até que a chave expire. Veja a seguir algumas dicas para manter a chave protegida:

Em geral, se você tomar precauções com bom senso para gerar, usar e armazenar a chave, ela estará segura.

Remover informações de assinatura dos arquivos de compilação

Ao criar uma configuração de assinatura, o Android Studio adiciona as informações de assinatura em texto simples aos arquivos build.gradle do módulo. Se você está trabalhando com uma equipe ou terceirizando o desenvolvimento do código, mantenha essas informações confidenciais fora dos arquivos de compilação para que outras pessoas não possam acessá-las facilmente. Para isso, crie um arquivo de propriedades separado para armazenar informações seguras e faça referência a esse arquivo nos arquivos de compilação da seguinte forma:

  1. Crie uma configuração de assinatura e atribua-a a um ou mais tipos de compilação. Essas instruções presumem que você configurou uma única configuração de assinatura para o tipo de compilação de lançamento, como descrito acima em Configurar o processo de compilação para assinatura automática do APK.
  2. Crie um arquivo denominado keystore.properties no diretório raiz do projeto. Esse arquivo deve conter as informações de assinatura, da seguinte forma:
    storePassword=myStorePassword
    keyPassword=mykeyPassword
    keyAlias=myKeyAlias
    storeFile=myStoreFileLocation
    
  3. No arquivo build.gradle de seu módulo, adicione o código para carregar seu arquivo keystore.properties antes do bloco android {}.
    ...
    
    // Create a variable called keystorePropertiesFile, and initialize it to your
    // keystore.properties file, in the rootProject folder.
    def keystorePropertiesFile = rootProject.file("keystore.properties")
    
    // Initialize a new Properties() object called keystoreProperties.
    def keystoreProperties = new Properties()
    
    // Load your keystore.properties file into the keystoreProperties object.
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    
    android {
        ...
    }
    
    

    Observação: Você poderá optar por armazenar o arquivo keystore.properties em outro local (por exemplo, na pasta do módulo em vez de na pasta raiz do projeto, ou em um servidor de compilações se estiver usando uma ferramenta de integração contínua). Nesse caso, modifique o código acima para inicializar corretamente keystorePropertiesFile usando a localização real do arquivo keystore.properties.

  4. Você pode fazer referência às propriedades armazenadas em keystoreProperties usando a sintaxe keystoreProperties['propertyName']. Modifique o bloco signingConfigs do arquivo build.gradle do módulo para fazer referência às informações de assinatura armazenadas em keystoreProperties usando esta sintaxe.
    android {
        signingConfigs {
            config {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
        ...
      }
    
  5. Abra a janela da ferramenta Build Variants e verifique se o tipo de compilação de lançamento está selecionado.
  6. Clique em Build > Build APK para criar a compilação de lançamento e confirme se o Android Studio criou um APK assinado no diretório build/outputs/apk/ do módulo.

Como os arquivos de compilação não contêm mais informações confidenciais, você pode incluí-los no controle de origem ou carregá-los em uma base de código compartilhada. Não deixe de manter o arquivo keystore.properties protegido. Para isso, pode ser necessário removê-lo do sistema de controle de origem.

Compilar e assinar seu aplicativo na linha de comando

O Android Studio não é necessário para assinar o aplicativo. Você pode assinar seu aplicativo na linha de comando usando a ferramenta apksigner, ou configurar o Gradle para assiná-lo durante a compilação. De qualquer forma, primeiro você precisa gerar uma chave privada usando keytool. Por exemplo:

keytool -genkey -v -keystore my-release-key.jks
-keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

Observação: keytool está localizado no diretório bin/ em seu JDK. Para localizar seu JDK no Android Studio, selecione File > Project Structure, clique em SDK Location e você verá o local do JDK.

Esse exemplo solicita senhas para o repositório de chaves e para a chave e o preenchimento dos campos Distinguished Name para a chave. Em seguida, ele gera o repositório de chaves como um arquivo chamado my-release-key.jks, salvando-o no diretório atual (é possível movimentá-lo como quiser). O repositório de chaves contém uma única chave, válida por 10.000 dias.

Agora você pode compilar um APK não assinado e assiná-lo manualmente ou, em vez disso, configurar o Gradle para assinar seu APK.

Compilar um APK não assinado e assiná-lo manualmente

  1. Abra uma linha de comando e navegue até a raiz do diretório do projeto — no Android Studio, selecione View > Tool Windows > Terminal. Depois, invoque a tarefa assembleRelease:
    gradlew assembleRelease
    

    Com isso, você criará um APK chamado module_name-unsigned.apk em project_name/module_name/build/outputs/apk/. O APK não está assinado e nem alinhado neste ponto; ele não pode ser instalado até que seja assinado com sua chave privada.

  2. Alinhe o APK não assinado usando zipalign:

    zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
    

    O zipalign garante que todos os dados descompactados comecem com um alinhamento de byte específico em relação ao início do arquivo, o que pode reduzir a quantidade de RAM consumida pelo aplicativo.

  3. Assine o APK com a chave privada usando apksigner:

    apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
    

    Este exemplo tem como saída o APK assinado em my-app-release.apk após assiná-lo com uma chave privada e um certificado armazenados em um único arquivo de repositório de chaves: my-release-key.jks.

    A ferramenta apksigner oferece outras opções de assinatura, inclusive a assinatura de um arquivo APK usando arquivos separados de chave privada e certificado e usando vários assinantes. Para obter mais detalhes, consulte a referência apksigner.

    Observação: Para usar a ferramenta apksigner, você precisa ter a revisão 24.0.3 ou superior do Android SDK Build Tools instalada. Atualize esse pacote usando o SDK Manager.

  4. Verifique se o APK está assinado:

    apksigner verify my-app-release.apk
    

Configurar o Gradle para assinar seu APK

  1. Abra o arquivo build.gradle no nível do módulo e adicione o bloco signingConfigs {} com entradas para storeFile, storePassword, keyAlias e keyPassword, depois passe esse objeto para a propriedade signingConfig em seu tipo de compilação. Por exemplo:
    android {
        ...
        defaultConfig { ... }
        signingConfigs {
            release {
                storeFile file("my-release-key.jks")
                storePassword "password"
                keyAlias "my-alias"
                keyPassword "password"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
                ...
            }
        }
    }
    

    Como o Gradle lê caminhos relativos ao arquivo build.gradle, o exemplo acima funcionará somente se my-release-key.jks estiver no mesmo diretório que o arquivo build.gradle.

    Observação: Neste caso, o repositório de chaves e a senha da chave estarão visíveis diretamente no arquivo build.gradle. Para melhorar a segurança, remova as informações de assinatura de seu arquivo de compilação.

  2. Abra uma linha de comando no diretório raiz de seu projeto e invoque a tarefa assembleRelease:
    gradlew assembleRelease
    

Com isso, você criará um APK chamado module_name-release.apk em project_name/module_name/build/outputs/apk/. Este arquivo de APK está assinado com a chave privada especificada em seu arquivo build.gradle e alinhado com zipalign.

A agora que você configurou a compilação de versão com sua chave de assinatura, a tarefa "install" está disponível para esse tipo de compilação. Assim você pode compilar, alinhar, assinar e instalar o APK de versão em um emulador ou dispositivo, tudo isso com a tarefa installRelease.

Um APK assinado com sua chave privada está pronto para distribuição, mas primeiro você deve ler mais sobre como publicar seu aplicativo e revisar a Lista de verificação de lançamento do Google Play.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)