Créez un fichier APK non signé avec Android Studio


272

Je développe une application Android avec l'outil de développement Android. Maintenant, j'ai essayé le nouveau Android Studio, tout fonctionne bien si je connecte mon smartphone au PC et exécute directement le programme dans Android Studio. Mais maintenant, je veux tester le programme avec d'autres smartphones sans les connecter à mon PC.

L'ADT crée le fichier .apk sous "projectname / bin" chaque fois que vous compilez le programme. Comment je le vois au moment où Android Studio ne fait pas ça.

Donc ma question est-il possible de créer un fichier .apk non signé avec Android Studio?


10
Techniquement, ce que vous voulez, c'est un apk signé avec une clé de débogage. Une apk qui n'est pas signée sera refusée par l'appareil.
Chris Stratton

Pour info, nous devrions toujours préférer exporter des applications signées comme l'a répondu @Nirmal Dhara. C'est beaucoup plus sûr.
Mukund

2
@ChrisStratton Sera-t-il toujours refusé?
Sreekanth Karumanaghat

Je le résous avec cette solution: stackoverflow.com/a/56201481/8471798
canerkaseler

Réponses:


326

Je vous recommande de créer votre fichier APK avec Gradle:

  • Cliquez sur le menu déroulant dans la barre d'outils en haut (ouvrez la boîte de dialogue «Modifier les configurations d'exécution / de débogage»)
  • Sélectionnez "Modifier les configurations"
  • Cliquez sur le "+"
  • Sélectionnez "Gradle"
  • Choisissez votre module comme projet Gradle
  • Dans Tâches: entrez assemble
  • Appuyez sur Exécuter

Votre fichier APK non signé se trouve maintenant dans

ProjectName\app\build\outputs\apk

Pour des informations détaillées sur la façon d'utiliser Gradle, ce tutoriel est bon à utiliser: Construire avec Gradle dans Android Studio . J'ai également écrit un article de blog sur la façon de créer un APK non signé avec Gradle.

Si vous avez déplacé votre projet de l'autre IDE et que vous ne souhaitez pas recompiler , vous pouvez trouver votre fichier APK qui a déjà été créé dans l'IDE à partir duquel vous avez déménagé:

  • Si vous avez généré le projet avec Android Studio, le fichier APK se trouve dans ProjectName/ProjectName/build/apk/...

  • Importation du projet depuis eclipse: le fichier doit se trouver dans le même répertoire. Allez à Project- Show in Explorer. Vous devriez y trouver le dossier bin dans lequel se trouve votre fichier APK.

  • Importé d'IntelliJ, l'emplacement serait ProjectName/out/production/...

Note latérale: Comme Chris Stratton l'a mentionné dans son commentaire:

Techniquement, ce que vous voulez, c'est un APK signé avec une clé de débogage. Un fichier APK non signé sera refusé par l'appareil.


1
Oui, j'ai importé le projet d'Eclipse. Mais dans mon cas, le dossier bin n'est pas touché par Android Studio. Avec un peu de recherche, je l'ai trouvé par moi-même. Dans mon cas, le .apk était situé dans "projectname / out / production / projectname /"
klange

Cela ne devrait être le cas que si vous êtes passé d'IntelliJ
bpoiss

9
Je génère le projet directement avec Studio mais il n'y a aucun dossier nommé "bin" dans aucun des dossiers du projet. Et dans le dossier "build" il n'y a que deux dossiers à savoir "res" et "source" et pas de dossier "bin". pouvez-vous me suggérer quelque chose maintenant?
Himanshu Aggarwal

25
Click the dropdown menu in the toolbar at the topC'est tellement général. Quel menu déroulant? Quelle barre d'outils?
2017

3
@dthree, vous pouvez cliquer sur "Exécuter" dans la barre de menu supérieure et sélectionner "Modifier les configurations" dans la liste déroulante
Gema Megantara

226

Selon Build APK non signé avec Gradle, vous pouvez simplement créer votre application avec gradle. Pour pouvoir faire ça:

  1. cliquez sur le menu déroulant de la barre d'outils en haut (généralement avec l'icône android et le nom de votre application)
  2. sélectionner Edit configurations
  3. cliquez sur le signe plus dans le coin supérieur gauche ou appuyez sur alt+insert
  4. sélectionner Gradle
  5. choisissez votre module comme Gradle project
  6. en Tasks:entréeassemble
  7. presse OK
  8. appuyez sur PLAY

Après cela, vous devriez trouver votre 'apk' non signé dans le répertoire ProjectName\app\build\outputs\apk


1
+ éditez build.gradle avec android {lintOptions {checkReleaseBuilds false abortOnError false} [....]} et ça marche! merci
Steffi

Merci marcin ... Ça a fonctionné .. Une chose à noter est que je n'ai pas pu trouver le dossier "sorties / apk" dans Android Studio .. Il n'est apparu que dans le système de fichiers ..
Govind

La tâche «assembler» est introuvable dans le projet racine «bin».
nVentimiglia

2e vote. Cela devrait être la bonne réponse. J'ai eu ce problème sur une installation de studio Android propre avec importation de projet. Vous devez passer par cette configuration manuelle pour obtenir tous les fichiers apk d'une build.
rickfoosusa

Cela fonctionne dans 1.5.1, mais en fait, construisez des apks de projet entiers même si un seul module a été sélectionné.
sandrstar

94

La façon la plus simple, je suppose:

  • Ouvrez l'onglet Gradle sur le côté droit
  • Double-cliquez sur YourProject /: app / assemble (ou assembleDebug)
  • Vous trouverez l'apk ici
    ... / YourProject / app / build / outputs / apk / app-debug.apk

capture d'écran


1
Merci, beaucoup plus simple que la réponse acceptée, et permet de ne pas construire d'apk à chaque exécution
Irhala

42

allez dans BUILD-> Build APK et c'est fait


8
+1. Une méthode TRÈS simple. BTW, vous pouvez trouver l'APK généré àAndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk
Spikatrix

aussi simple que cela, merci beaucoup, cela a fonctionné, appréciez-le.
Zeyad

23

Étape 1 Ouvrez le studio Android. Créer -> Générer un fichier APK signé…. cliquez maintenant sur «Générer un fichier APK signé».

entrez la description de l'image ici

Étape 2

entrez la description de l'image ici

Cliquez sur Créer nouveau.

Étape 3

Remplissez les détails et cliquez sur OK. entrez la description de l'image ici

Détails de la clé jks, il reviendra à la fenêtre précédente.

entrez la description de l'image ici

Cliquez sur Suivant et donnez le mot de passe que vous avez enregistré dans la clé.

Étape 4

entrez la description de l'image ici

Maintenant, cliquez sur Terminer et attendez pour terminer le processus de construction.

entrez la description de l'image ici

Maintenant apk généré avec succès. Cliquez sur afficher dans l'Explorateur.

entrez la description de l'image ici

Si vous avez besoin de plus de détails, veuillez visiter et vérifier la démo en direct http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs


3
La question demande un
apk

18

Dans Android Studio:

  1. Construire

  2. Créer des fichiers APK

  3. Attendez et accédez à l'emplacement indiqué dans une fenêtre contextuelle. En bas à droite

entrez la description de l'image ici


14

Oui, il est possible de créer un .apk non signé avec Android Studio!

Mettez en surbrillance le projet dans votre explorateur de packages ou colonne de projet, puis File- Project Structure- Artifacts- +- Android Application- From module 'your app'et vous pouvez ensuite modifier l'emplacement et certaines autres options. J'active build sur make, juste pour plus de facilité.


il affiche le message "Nous fournirons une interface utilisateur pour configurer les paramètres du projet plus tard. D'ici là, veuillez modifier manuellement vos fichiers build.gradle (s.)" Maintenant, que dois-je faire?
Himanshu Aggarwal

8
et si je n'ai pas d'artefacts là-bas?
écureuil

Appuyez sur le signe plus en haut à gauche et vous pouvez accéder à l'application Android
CACuzcatlan

jetbrains.com/idea/webhelp/artifacts.html quel est l'intérêt d'utiliser des artefacts? Je pensais que c'était pour générer un apk de débogage apk non signé, etc. mais il semble que vous pouvez simplement aller dans le dossier build / apk pour obtenir l'apk non signé tant que vous exécutez assemblerelease à partir du menu gradle (au moins dans intellij IDE). Je viens de configurer un artefact, mais j'ai du mal à savoir quoi en faire vraiment. Quelqu'un peut-il aider à clarifier la différence et à l'utiliser ou à me diriger dans la bonne direction?
cjayem13

@ cjayem13 Certains projets n'utilisent pas Gradle.
Marc Plano-Lesay

11

Avec Android Studio 2.2.3 sur OSX, je viens d'utiliser le menu supérieur:

Build > Build APK

Il a ouvert le Finder avec le .apkfichier. Cela ne générera pas un APK signé. Vous pouvez sélectionner Generate Signed APKdans le même menu si nécessaire.


J'ai essayé de générer un APK signé, mais il demande un chemin d'accès au magasin de clés. Que doit-on y fournir?
codeinprogress

11
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

11

AndroidStudio 3.4


Une fois Grade Build Runningterminé, vous verrez la notification dans le coin inférieur droit comme.

Cliquez sur locateet vous verrez votre APK débogable


10

Accédez simplement à Votre application \ app \ build \ outputs \ apk

et copiez les deux sur le téléphone et installez app-debug.apk


1
est-il vraiment nécessaire de copier les deux fichiers?
Vahid Ghadiri

4

Travail suivant pour moi:

Gardez le paramètre suivant vide si vous l'avez fait dans build.gradle.

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

et choisissez Gradle Task dans la fenêtre de votre éditeur. Il affichera la liste de toutes les saveurs si vous avez créé.

entrez la description de l'image ici


3

--- Créer une nouvelle configuration en signantConfigs

unsigned {
        //do not sign
    }

--- Créer un type de build dans buildTypes

unsigned {
        versionNameSuffix '-unsigned'
    }

--- Allez dans les variantes de construction et choisissez la norme non signée. Projet de construction.

--- Allez dans "sorties / apk" et trouvez "XXX-unsigned.apk". Pour vérifier s'il n'est pas signé, essayez de l'installer sur l'appareil - vous échouerez.


Cela ne fonctionne pas. Vous devez définir le signinigConfig un peu différent (extrait de stackoverflow.com/a/18121401/624109 )signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
Muzikant

1

Maintenant, dans Android Studio v1.1.0 devrait être:

  1. sélectionnez Run>Run <your app>
  2. trouver le fichier .apk dans <your app>\build\outputs\apk

J'utilise 1.2.1.1 mais votre approche ne fonctionne pas. Je dois créer un assemblage Gradle!
programmeur

0

Android studio crée également le fichier apk à chaque fois que vous compilez le programme, allez simplement dans votre dossier d'espace de travail et trouvez app-> build-> sorties-> vous pourrez alors voir le fichier apk.


0

Vous pouvez cliquer sur le menu déroulant près du bouton Exécuter de la barre d'outils,

  1. Sélectionnez "Modifier les configurations"
  2. Cliquez sur le "+"
  3. Sélectionnez "Gradle"
  4. Choisissez votre module comme projet Gradle
  5. Dans les tâches: entrez assembler

Maintenant, appuyez sur ok,

il vous suffit maintenant de sélectionner votre configuration dans le menu déroulant et d'appuyer sur le bouton Exécuter. Cela prendra du temps. Votre apk non signé est maintenant situé dans

Project\app\build\outputs\apk

0

Je le résous!

Tout d'abord, vous devez ajouter ces éléments:

defaultConfig { 
 multiDexEnabled true
}

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

Après, vous devez cliquer sur Construire dans la barre supérieure d'Android Studio:

Build > Build Bundle (s) / APK (s)> Build APK (s)

Enfin, vous avez un fichier app-debug.apk dans:

app> build> sorties> apk> debug> app-debug.apk

Remarque : fichiers apk , debug, app-debug.apk créés automatiquement dans le fichier de sortie par Android Studio.


0

Étapes pour créer un fichier APK non signé

Remarque: Techniquement, ce que vous voulez, c'est un fichier APK signé avec une clé de débogage. Un fichier APK non signé sera refusé par l'appareil. Ainsi, l'APK non signé donnera une erreur si vous installez dans l'appareil.


j'ai obtenu son erreur 'Impossible de définir le répertoire de travail du processus sur' C: \ Users \ marad \ .gradle \ daemon \ 5.2.1 \ My Application ': n'a pas pu définir le répertoire actuel (errno 2)'
ass-king a posé une question

0

Pour les fichiers APK non signés: définissez simplement la valeur de signatureConfig nulle. Il vous donnera appName-debug-unsigned.apk

debug {
     signingConfig null
}

Et construisez à partir du menu Build. Prendre plaisir

Pour l'APK signé:

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'
        }
    }

fichier keystore.properties

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.