Criar arquivo APK não assinado com o Android Studio


272

Estou desenvolvendo um aplicativo Android com a Ferramenta de Desenvolvedor Android. Agora eu tentei o novo Android Studio, tudo funciona bem se conectar meu smartphone ao PC e executar o programa diretamente no Android Studio. Mas agora eu quero testar o programa com outros smartphones sem conectá-los ao meu pc.

O ADT cria o arquivo .apk em "projectname / bin" toda vez que você compila o programa. Como eu vejo no momento o Android Studio não faz isso.

Portanto, minha pergunta é possível criar um arquivo .apk não assinado com o Android Studio?


10
Tecnicamente, o que você quer é um apk assinado com uma chave de depuração. Um apk que não é assinado será recusado pelo dispositivo.
Chris Stratton

Para sua informação, devemos sempre preferir exportar aplicativos assinados, conforme respondido por @Nirmal Dhara. Isto é muito mais seguro.
Mukund

2
@ChrisStratton Será sempre recusado?
Sreekanth Karumanaghat

Eu resolvê-lo com esta solução: stackoverflow.com/a/56201481/8471798
canerkaseler

Respostas:


326

Eu recomendo que você crie seu arquivo APK com o Gradle:

  • Clique no menu suspenso na barra de ferramentas na parte superior (abra a caixa de diálogo 'Editar configurações de execução / depuração')
  • Selecione "Editar configurações"
  • Clique no botão "+"
  • Selecione "Gradle"
  • Escolha seu módulo como um projeto Gradle
  • Em Tarefas: insira assemble
  • Pressione Executar

Seu APK não assinado agora está localizado em

ProjectName\app\build\outputs\apk

Para obter informações detalhadas sobre como usar o Gradle, é recomendável seguir este tutorial: Construindo com o Gradle no Android Studio . Também escrevi uma postagem no blog sobre como criar um APK não assinado com o Gradle.

Se você moveu seu projeto do outro IDE e não deseja recompilar , poderá encontrar o arquivo APK que já foi criado no IDE do qual você mudou:

  • Se você gerou o projeto com o Android Studio, o arquivo APK será encontrado em ProjectName/ProjectName/build/apk/...

  • Importou o projeto do eclipse: O arquivo deve estar no mesmo diretório. Vá para Project- Show in Explorer. Lá, você deve encontrar a pasta bin em que seu arquivo APK está localizado.

  • Importado do IntelliJ, o local seria ProjectName/out/production/...

Nota lateral: Como Chris Stratton mencionou em seu comentário:

Tecnicamente, o que você deseja é um APK assinado com uma chave de depuração. Um APK que não está assinado será recusado pelo dispositivo.


1
Sim, eu importei o projeto do eclipse. Mas, no meu caso, a pasta bin não é tocada pelo Android Studio. Com um pouco de pesquisa eu encontrei por mim mesmo. No meu caso, o .apk estava localizado em "projectname / out / production / projectname /"
klange

Este deve ser apenas no caso, se você mudou de IntelliJ
bpoiss

9
Estou gerando o projeto diretamente com o Studio, mas não há uma pasta chamada "bin" em nenhuma das pastas do projeto. E na pasta "build" existem apenas duas pastas, a saber "res" e "source" e nenhuma pasta "bin". você pode me sugerir algo agora?
precisa

25
Click the dropdown menu in the toolbar at the topIsto é tão geral. Qual menu suspenso? Qual barra de ferramentas?
dthree 25/11

3
@dthree você pode clicar em "Run" na barra de menu superior, e selecione "Configurações Editar" no menu suspenso
Gema Megantara

226

De acordo com o Build Unsigned APK com Gradle, você pode simplesmente criar seu aplicativo com o Gradle. A fim de fazer isso:

  1. clique no menu suspenso na barra de ferramentas na parte superior (geralmente com o ícone do Android e o nome do seu aplicativo)
  2. selecionar Edit configurations
  3. clique no sinal de adição no canto superior esquerdo ou pressione alt+insert
  4. selecionar Gradle
  5. escolha seu módulo como Gradle project
  6. em Tasks:entrarassemble
  7. pressione OK
  8. pressione play

Depois disso, você deve encontrar seu 'apk' não assinado no diretório ProjectName\app\build\outputs\apk


1
+ edite o build.gradle com o Android {lintOptions {checkReleaseBuilds false abortOnError false} [....]} e funciona! obrigada #
1028 Steffi

Obrigado Marcin ... Funcionou .. Uma coisa a notar é que eu não poderia encontrar a pasta "saídas / apk" no estúdio Android .. É só apareceu no sistema de arquivos ..
Govind

A tarefa 'assemble' não foi encontrada no projeto raiz 'bin'.
NVentimiglia

2ª votação. Essa deve ser a resposta correta. Eu tive esse problema em uma instalação limpa do Android Studio com importação de projeto. Você precisa seguir esta configuração manual para obter qualquer arquivo apk de uma compilação.
Rickfoosusa #

Ele funciona na 1.5.1, mas na verdade constrói apks de projeto inteiro, mesmo que um único módulo tenha sido selecionado.
Sandrstar #

94

A maneira mais fácil, eu acho:

  • Abra a guia Gradle no lado direito
  • Clique duas vezes em YourProject /: app / assemble (or assembleDebug)
  • Você encontrará o apk aqui
    ... / YourProject / app / build / outputs / apk / app-debug.apk

captura de tela


1
Obrigado, muito mais simples do que resposta aceita, e não permite construir apk em cada corrida
Irhala

42

basta ir para BUILD-> Build APK e pronto


8
+1. Um método MUITO simples. BTW, você pode encontrar o APK gerado emAndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk
Spikatrix

simples assim, muito obrigado, deu certo, agradeço.
Zeyad

23

Passo 1 Abra o Android Studio. Compilar -> Gerar APK assinado. Agora clique em "Gerar APK assinado".

insira a descrição da imagem aqui

Passo 2

insira a descrição da imagem aqui

Clique em Criar novo.

etapa 3

Preencha os detalhes e clique em ok. insira a descrição da imagem aqui

jks principais detalhes, Ele voltará à janela anterior.

insira a descrição da imagem aqui

Clique em Avançar e forneça a senha que você armazenou na chave.

Passo 4

insira a descrição da imagem aqui

Agora clique em Concluir e aguarde para concluir o processo de construção.

insira a descrição da imagem aqui

Agora apk gerado com sucesso. Clique em mostrar no Explorer.

insira a descrição da imagem aqui

Se precisar de mais detalhes, visite e verifique a demonstração ao vivo http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs


3
Pergunta pede apk não assinado
ravelinx 06/04/19

18

No Android Studio:

  1. Construir

  2. Construa APK (s)

  3. Aguarde e vá para o local mostrado em uma janela pop-up. No lado inferior direito

insira a descrição da imagem aqui


14

Sim, é possível criar um .apk não assinado com o Android Studio!

Destaque o Projeto no explorador de pacotes ou na coluna do projeto e, em seguida, File- Project Structure- Artifacts- +- Android Application- From module 'your app'e, em seguida, você pode alterar o local e algumas outras opções. Eu habilito o build on make, apenas para facilitar.


está sendo exibida a mensagem "Forneceremos uma interface do usuário para definir as configurações do projeto posteriormente. Até então, edite manualmente o (s) arquivo (s) build.gradle (s)." Agora, o que devo fazer?
precisa

8
e se eu não tiver nenhum "artefato" lá?
esquilo

Clique no sinal de adição no canto superior esquerdo e você poderá
acessar o

jetbrains.com/idea/webhelp/artifacts.html qual é o sentido de usar artefatos? Eu pensei que era para gerar um apk de depuração apk não assinado, etc. Acabei de configurar um artefato, mas estou tendo problemas para descobrir o que realmente fazer com ele. Alguém pode ajudar a esclarecer a diferença e usar ou me indicar a direção certa?
cjayem13

@ cjayem13 Alguns projetos não usam Gradle.
Marc Plano-Lesay

11

Com o Android Studio 2.2.3 no OSX, usei o menu superior:

Build > Build APK

Ele abriu o Finder com o .apkarquivo. Isso não gerará um APK assinado. Você pode selecionar Generate Signed APKno mesmo menu, se necessário.


Tentei gerar um APK assinado, mas ele está pedindo um caminho de armazenamento de chaves. O que é suposto ser fornecido lá?
Codeinprogress

11
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

11

AndroidStudio 3.4


Após a Grade Build Runningconclusão, você verá a notificação no canto inferior direito, como.

Clique em locatee você verá seu APK debuggable


10

Basta ir em Seu aplicativo \ app \ build \ outputs \ apk

e copie para o telefone e instale o app-debug.apk


1
é realmente necessário copiar os dois arquivos?
Vahid Ghadiri

4

Após o trabalho para mim:

Continue seguindo a configuração em branco se tiver feito em build.gradle.

signingConfigs {
        release {
            storePassword ""
            keyAlias ""
            keyPassword ""
        }
    }

e escolha Tarefa Gradle na sua janela do Editor. Ele mostrará uma lista de todos os sabores, se você tiver criado.

insira a descrição da imagem aqui


3

--- Crie uma nova configuração em signatureConfigs

unsigned {
        //do not sign
    }

--- Criar tipo de construção em buildTypes

unsigned {
        versionNameSuffix '-unsigned'
    }

--- Vá para criar variantes e escolha o padrão não assinado. Construir projeto.

--- Vá para "outputs / apk" e encontre "XXX-unsigned.apk". Para verificar se não está assinado, tente instalá-lo no dispositivo - você falhará.


Isso não funciona. Você precisa definir o signinigConfig um pouco diferente (retirado stackoverflow.com/a/18121401/624109 )signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
Muzikant

1

Agora no Android Studio v1.1.0 deve ser:

  1. selecione Run>Run <your app>
  2. encontre o arquivo .apk em <your app>\build\outputs\apk

Estou usando o 1.2.1.1, mas sua abordagem não funciona. Eu tenho que criar uma montagem Gradle!
programador

0

O Android studio também cria o arquivo apk sempre que compila o programa, basta ir para a pasta da área de trabalho e encontrar app-> build-> outputs-> e então você pode ver o arquivo apk.


0

Você pode clicar no menu suspenso próximo ao botão executar na barra de ferramentas,

  1. Selecione "Editar configurações"
  2. Clique no botão "+"
  3. Selecione "Gradle"
  4. Escolha seu módulo como projeto Gradle
  5. Em Tarefas: insira montar

Agora pressione ok,

tudo o que você precisa fazer agora é selecionar sua configuração no menu suspenso e pressionar o botão executar. Vai levar algum tempo. Seu apk não assinado agora está localizado em

Project\app\build\outputs\apk

0

Eu resolvo isso!

Primeiro de tudo, você deve adicionar estes:

defaultConfig { 
 multiDexEnabled true
}

dependencies {
 implementation 'com.android.support:multidex:1.0.3'
}

Depois, clique em Criar na barra superior do Android Studio:

Compilar > Compilar pacote (s) / APK (s)> Compilar APK (s)

Por fim, você tem um arquivo app-debug.apk em:

app> compilação> saídas> apk> depuração> app-debug.apk

Nota : arquivos apk, debug, app-debug.apk criados automaticamente no arquivo de saídas do Android Studio.


0

Etapas para criar APK não assinado

Nota: tecnicamente, o que você deseja é um APK assinado com uma chave de depuração. Um APK que não está assinado será recusado pelo dispositivo. Portanto, o APK não assinado dará erro se você instalar no dispositivo.


Eu recebi o erro 'Não foi possível definir o diretório de trabalho do processo como' C: \ Users \ marad \ .gradle \ daemon \ 5.2.1 \ My Application ': não foi possível definir o diretório atual (erro 2)'
ass-king, alguma pergunta

0

Para APK não assinado: basta definir Nulo de assinaturaConfig. Isso lhe dará appName-debug-unsigned.apk

debug {
     signingConfig null
}

E crie no menu Build. Aproveitar

Para APK assinado:

signingConfigs {
        def keyProps = new Properties()
        keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
        internal {
            storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
            storePassword keyProps.getProperty('STORE_PASSWORD')
            keyAlias keyProps.getProperty('KEY_ALIAS')
            keyPassword keyProps.getProperty('KEY_PASSWORD')
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.internal
            minifyEnabled false
        }
        release {
            signingConfig signingConfigs.internal
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

arquivo keystore.properties

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.