Cree un archivo APK sin firmar con Android Studio


272

Estoy desarrollando una aplicación de Android con la herramienta de desarrollo de Android. Ahora probé el nuevo Android Studio, todo funciona bien si conecto mi teléfono inteligente con la PC y ejecuto directamente el programa en Android Studio. Pero ahora quiero probar el programa con otros teléfonos inteligentes sin conectarlos a mi PC.

El ADT crea el archivo .apk en "nombre del proyecto / bin" cada vez que compila el programa. Cómo lo veo en el momento en que Android Studio no hace eso.

Entonces, mi pregunta es ¿es posible crear un archivo .apk sin firmar con Android Studio?


10
Técnicamente, lo que quieres es un apk firmado con una clave de depuración. El dispositivo rechazará un apk que en realidad no esté firmado.
Chris Stratton

Para su información, siempre deberíamos preferir exportar aplicaciones firmadas, según lo respondió @Nirmal Dhara. Esto es mucho más seguro.
Mukund

2
@ChrisStratton ¿Siempre se rechazará?
Sreekanth Karumanaghat

Lo
resuelvo

Respuestas:


326

Te recomendaría que construyas tu archivo APK con Gradle:

  • Haga clic en el menú desplegable en la barra de herramientas en la parte superior (abra el cuadro de diálogo 'Editar configuraciones de ejecución / depuración')
  • Seleccione "Editar configuraciones"
  • Haga clic en el "+"
  • Seleccione "Gradle"
  • Elige tu módulo como proyecto Gradle
  • En Tareas: ingrese assemble
  • Presione Ejecutar

Tu APK sin firmar ahora se encuentra en

ProjectName\app\build\outputs\apk

Para obtener información detallada sobre cómo usar Gradle, este tutorial es bueno: Construir con Gradle en Android Studio . También escribí una publicación de blog sobre cómo construir un APK sin firmar con Gradle.

Si movió su proyecto desde el otro IDE y no desea volver a compilar , puede encontrar su archivo APK que ya estaba integrado en el IDE desde el que se mudó:

  • Si generó el Proyecto con Android Studio, el archivo APK se encontrará en ProjectName/ProjectName/build/apk/...

  • Importó el proyecto desde eclipse: el archivo debe estar en el mismo directorio. Ir a Project-Show in Explorer . Allí debería encontrar la carpeta bin donde se encuentra su archivo APK.

  • Importado de IntelliJ, la ubicación sería ProjectName/out/production/...

Nota al margen: como Chris Stratton mencionó en su comentario:

Técnicamente, lo que quieres es un APK firmado con una clave de depuración. El dispositivo rechazará un APK que en realidad no esté firmado.


1
Sí, importé el proyecto desde eclipse. Pero en mi caso, la carpeta bin no es tocada por Android Studio. Con un poco de búsqueda lo encontré solo. En mi caso, el .apk estaba ubicado en "nombre del proyecto / fuera / producción / nombre del proyecto /"
klange

Esto debería ser solo en caso de que cambie de IntelliJ
bpoiss

9
Estoy generando el proyecto directamente con Studio pero no hay una carpeta llamada "bin" en ninguna de las carpetas del proyecto. Y en la carpeta "build" solo hay dos carpetas, a saber, "res" y "source" y ninguna carpeta "bin". me puedes sugerir algo ahora?
Himanshu Aggarwal

25
Click the dropdown menu in the toolbar at the topEsto es muy general. ¿Qué menú desplegable? ¿Qué barra de herramientas?
Tres

3
@dthree puede hacer clic en "Ejecutar" en la barra de menú superior y seleccionar "Editar configuraciones" en el menú desplegable
Gema Megantara

226

De acuerdo con Build Unsigned APK con Gradle , simplemente puede construir su aplicación con gradle. Para poder hacer eso:

  1. haga clic en el menú desplegable en la barra de herramientas en la parte superior (generalmente con el ícono de Android y el nombre de su aplicación)
  2. Seleccione Edit configurations
  3. haga clic en el signo más en la esquina superior izquierda o presione alt+insert
  4. Seleccione Gradle
  5. elige tu módulo como Gradle project
  6. en Tasks:entrarassemble
  7. prensa OK
  8. presiona play

Después de eso, debe encontrar su 'apk' sin firmar en el directorio ProjectName\app\build\outputs\apk


1
+ edite build.gradle con android {lintOptions {checkReleaseBuilds false abortOnError false} [....]} y funciona! gracias
Steffi

Gracias Marcin ... funcionó .. Una cosa a notar es que no pude encontrar "/ salidas apk" carpeta en el Estudio de Android .. Es sólo apareció en el sistema de archivos ..
Govind

La tarea 'ensamblar' no se encuentra en el proyecto raíz 'bin'.
nVentimiglia

2da votación. Esta debería ser la respuesta correcta. Tuve este problema en una instalación de estudio de Android limpia con importación de proyectos. Debe realizar esta configuración manual para obtener los archivos apk de una compilación.
rickfoosusa

Funciona en 1.5.1, pero en realidad construye aplicaciones de proyecto completas incluso si se ha seleccionado un solo módulo.
Sandrstar

94

La forma más fácil, supongo:

  • Abra la pestaña Gradle en el lado derecho
  • Haga doble clic en YourProject /: app / assemble (o assembleDebug)
  • Encontrarás el apk aquí
    ... / YourProject / app / build / salidas / apk / app-debug.apk

captura de pantalla


1
Gracias, una respuesta mucho más simple que la aceptada, y permite no construir apk en cada ejecución
Irhala

42

solo ve a BUILD-> Build APK y listo


8
+1. Un método MUY simple. Por cierto, puedes encontrar el APK generado enAndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk
Spikatrix

así de simple, muchas gracias, funcionó, lo aprecio.
Zeyad

23

Paso 1 Abra el estudio de Android. Construir -> Generar APK firmado ... ahora haga clic en "Generar APK firmado".

ingrese la descripción de la imagen aquí

Paso 2

ingrese la descripción de la imagen aquí

Haz clic en Crear nuevo.

Paso 3

Rellene los detalles y haga clic en Aceptar. ingrese la descripción de la imagen aquí

jks detalles clave, volverá a la ventana anterior.

ingrese la descripción de la imagen aquí

Haga clic en Siguiente y proporcione la contraseña que almacenó en la clave.

Paso 4

ingrese la descripción de la imagen aquí

Ahora haga clic en Finalizar y espere para completar el proceso de construcción.

ingrese la descripción de la imagen aquí

Ahora apk generado con éxito. Haga clic en mostrar en el Explorador.

ingrese la descripción de la imagen aquí

Si necesita más detalles, visite y consulte la demostración en vivo http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs


3
Pregunta pide apk sin firmar
ravelinx

18

En Android Studio:

  1. Construir

  2. Construir APK (s)

  3. Espere y vaya a la ubicación que se muestra en una ventana emergente. En el lado inferior derecho

ingrese la descripción de la imagen aquí


14

Sí, es posible crear un .apk sin firmar con Android Studio.

Resalte el Proyecto en su explorador de paquetes o columna de proyecto, y luego File- Project Structure- Artifacts- +- Android Application- From module 'your app'y luego puede cambiar la ubicación y algunas otras opciones. Habilito build on make, solo por facilidad.


aparece el mensaje "Proporcionaremos una interfaz de usuario para configurar los ajustes del proyecto más tarde. Hasta entonces, edite manualmente sus archivos build.gradle". ¿Ahora qué debo hacer?
Himanshu Aggarwal

8
¿Y si no tengo ningún "artefacto" allí?
ardilla

Pulse el signo más en la
esquina

jetbrains.com/idea/webhelp/artifacts.html ¿cuál es el punto de usar artefactos? Pensé que era generar un apk de depuración de apk sin firmar, etc. pero parece que simplemente puede ir a la carpeta build / apk para obtener el apk sin firmar siempre que ejecute assemblerelease desde el menú gradle (al menos en intellij IDE). Acabo de configurar un artefacto, pero tengo problemas para descubrir qué hacer realmente con él. ¿Puede alguien ayudarme a aclarar la diferencia y usar o señalarme en la dirección correcta?
cjayem13

@ cjayem13 Algunos proyectos no usan Gradle.
Marc Plano-Lesay

11

Con Android Studio 2.2.3 en OSX acabo de usar el menú superior:

Build > Build APK

Abrió Finder con el .apkarchivo. Esto no generará un APK firmado. Puede seleccionar Generate Signed APKdesde el mismo menú si es necesario.


Traté de generar un APK firmado pero está pidiendo una ruta de almacenamiento de claves. ¿Qué se supone que debe proporcionarse allí?
codeinprogress

11
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

11

AndroidStudio 3.4


Después de Grade Build Runningcompletar, verá la notificación en la esquina inferior derecha como.

Haga clic en locatey verá su APK depurable


10

Simplemente vaya a su aplicación \ app \ build \ salidas \ apk

y copie ambos al teléfono e instale app-debug.apk


1
¿Es realmente necesario copiar ambos archivos?
Vahid Ghadiri

4

El siguiente trabajo para mí:

Mantenga la siguiente configuración en blanco si ha realizado en build.gradle.

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

y elija Gradle Task en la ventana de su editor. Mostrará una lista de todos los sabores si ha creado.

ingrese la descripción de la imagen aquí


3

--- Crear nueva configuración en signConfigs

unsigned {
        //do not sign
    }

--- Crear tipo de compilación en buildTypes

unsigned {
        versionNameSuffix '-unsigned'
    }

--- Vaya a construir variantes y elija estándar sin firmar. Construir proyecto.

--- Vaya a "salidas / apk" y busque "XXX-unsigned.apk". Para verificar si no está firmado, intente instalarlo en el dispositivo; fallará.


Esto no funciona. Debe definir el signinigConfig un poco diferente (tomado de stackoverflow.com/a/18121401/624109 )signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
Muzikant

1

Ahora en Android Studio v1.1.0 debería ser:

  1. seleccione Run>Run <your app>
  2. encontrar el archivo .apk en <your app>\build\outputs\apk

Estoy usando 1.2.1.1 pero su enfoque no funciona. ¡Tengo que crear un ensamblaje de Gradle!
programador

0

Android Studio también crea el archivo apk cada vez que compila el programa, solo vaya a la carpeta de su espacio de trabajo y busque app-> build-> salidas-> luego puede ver el archivo apk.


0

Puede hacer clic en el menú desplegable cerca del botón Ejecutar en la barra de herramientas,

  1. Seleccione "Editar configuraciones"
  2. Haga clic en el "+"
  3. Seleccione "Gradle"
  4. Elija su módulo como proyecto Gradle
  5. En Tareas: ingrese ensamblar

Ahora presiona ok,

todo lo que necesita hacer ahora es seleccionar su configuración del menú desplegable y presionar el botón Ejecutar. Tomará un poco de tiempo. Su apk sin firmar ahora se encuentra en

Project\app\build\outputs\apk

0

Lo resuelvo!

En primer lugar, debe agregar estos:

defaultConfig { 
 multiDexEnabled true
}

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

Después, debe hacer clic en Construir en la barra superior de Android Studio:

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

Finalmente, tiene un archivo app-debug.apk en:

aplicación> compilación> salidas> apk> depuración> app-debug.apk

Nota : archivos apk, debug, app-debug.apk creados automáticamente en el archivo de salida por Android Studio.


0

Pasos para crear APK sin firmar

Nota: Técnicamente, lo que quieres es un APK firmado con una clave de depuración. El dispositivo rechazará un APK que en realidad no esté firmado. Por lo tanto, Unsigned APK dará un error si lo instala en el dispositivo.


recibí su error 'No se pudo establecer el directorio de trabajo del proceso en' C: \ Users \ marad \ .gradle \ daemon \ 5.2.1 \ My Application ': no ​​se pudo establecer el directorio actual (error 2)'
ass-king alguna pregunta

0

Para APK sin firmar: simplemente establezca la firma de configuración nulo. Le dará appName-debug-unsigned.apk

debug {
     signingConfig null
}

Y construir desde el menú Construir. Disfrutar

Para APK firmado:

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

archivo keystore.properties

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.