Cuando hago clic para ejecutar un proyecto que acabo de crear en Android Studio 0.2.10 y selecciono mi Android (conectado por USB con depuración por USB activado), aparece este error:
Waiting for device.
Target device: 0123456789ABCDEF
Uploading file
local path: /Users/Rui/AndroidStudioProjects/FirstAppProject/FirstApp/build/apk/FirstApp-debug-unaligned.apk
remote path: /data/local/tmp/rui.firstapp
Installing rui.firstapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/rui.firstapp"
pkg: /data/local/tmp/rui.firstapp
Failure [INSTALL_FAILED_INVALID_APK]
¿Alguna idea de lo que podría ser?
android
android-studio
RuiG
fuente
fuente
MinSDK
yTargetSDK
en su manifiesto. ¿Has intentado instalar esto en un emulador? Esto reducirá si el problema está en el APK o en su dispositivo.Respuestas:
Estaba obteniendo esto en Android Studio y todo lo que hice para solucionarlo fue ir
"Build" > "Clean Project"
y simplemente funcionó.fuente
./gradlew clean
seguida por su comando de compilación normalSimplemente elimine el antiguo APK android / app / build / outputs / apk / debug / app-debug.apk en la carpeta. eso es todo. disfruta tu codificación ...
fuente
rm -fr android/app/build/outputs/apk/debug/
Tuve un problema similar una vez, lo que observé fue que el nombre del paquete en mi Androidmanifest.xml se inició con un carácter de espacio vacío.
like " com.example.test" instead of "com.example.test"
Eliminé todos esos espacios inválidos de mi archivo de manifiesto, resolvió mi problema
Edición 1 : '-' en el nombre del paquete también causa el mismo problema en algunas versiones de Android
fuente
invalidate cache and restart
que forzaría una construcción limpia, aparentemente no es así.Tuve el mismo problema pero ninguna de las soluciones me funcionó. El problema era que no tenía . separadores en el nombre de mi paquete.
es decir, si el nombre de su paquete es my.packagename está bien, pero no puede ser solo mypackagename
Recibí la pista de este informe de error.
https://code.google.com/p/android/issues/detail?id=55841
fuente
Si alguien todavía tiene problemas, entonces Build-> Clean Project luego Build-> Rebuild project finalmente Sync project with Gradle file .
fuente
Cómo solucionar este problema:
RootExplorer
tmp
carpeta en la tarjeta SDLink
esta carpeta (última opción en el menú)/data/local/
y toque el botónCREATE LINK
desde la parte inferiorfuente
Tuve este problema y ninguna de las soluciones anteriores funcionó para mí.
Por alguna razón, los permisos no se establecieron correctamente en mi
/data/local/tmp
directorio (solo la raíz tenía rwx). Solucioné el problema usando ADB (necesitará un dispositivo rooteado):adb shell
/data/local
usarcd /data/local
su
tmp
directorio usandochmod 777 tmp
fuente
Al apagar Instant Run resolví mi problema. No conozco ninguna explicación hasta ahora. Después de migrar a Android Studio 3.0, comienza un problema como este. Espero que esto ayude a alguien en el futuro.
fuente
Cuando experimenté este problema, lo que me solucionó fue asegurarme de que el nombre del paquete AndroidManifest.xml fuera el mismo que el de la aplicación build.grade.
fuente
Encontré otra razón de este error. Si ha rooteado los permisos de acceso de su dispositivo de / data / local / tmp pueden cambiarse, por lo que adb no puede acceder a su archivo temporal. La solución es crear la carpeta "tmp" en la tarjeta sd y crear un enlace simbólico en / data / local / (a través de ADB shell o Root Explorer).
fuente
Si escribe
android:extractNativeLibs="false"
en el archivo AndroidManifest. luego cámbialo aandroid:extractNativeLibs="true"
fuente
Esto ayudó en mi caso:
Settings -> Apps -> Google Play Store -> Click "Enable" button.
fuente
Probé la mayoría de las soluciones ofrecidas anteriormente (las simples, no las que ofrecen chmod y alteran las bibliotecas internas) y ninguna de ellas funciona
Finalmente, lo que funcionó para mí fue: "Proyecto limpio" -> "Proyecto de reconstrucción" -> cambió el nombre de la versión de la aplicación en el módulo de la aplicación build.gradle -> Sincronizar Gradle -> Ejecutar la aplicación en el dispositivo
fuente
Me encontré con este problema al tener variantes de compilación no coincidentes. Un módulo de Dynamic Delivery estaba en la variante de depuración mientras que los módulos restantes estaban en el lanzamiento. Simplemente cambiando el módulo Dynamic Delivery para liberar, reconstruir e instalar, se solucionó el problema.
fuente
Para los proyectos de Flutter, con el editor de VS Code, vaya a la carpeta de origen del proyecto, elimine la carpeta "build" y comience a depurar.
fuente
Tengo este problema en un proyecto con Dagger y varios módulos. Lo que funcionó para mí (nada de lo anterior funcionó) fue 1) vaciar la carpeta .gradle 2) vaciar la carpeta .idea 3) En el proyecto gradle.properties, marque org.gradle.caching = false 4) Posiblemente invalide las cachés en AS , limpiar, reconstruir
Es posible que pueda salirse con la suya con solo el n. ° 3, limpiar y luego construir.
EDITAR: Últimamente he podido solucionar esto reiniciando AS, luego haciendo una limpieza y luego volviendo a instalar.
fuente
./gradlew installDebug
desde la línea de comandoLa causa de este problema para mí fue tener la variante de compilación incorrecta seleccionada para uno de los módulos de mi aplicación. En la herramienta "Compilar variantes", seleccioné la variante del módulo que coincidía con el módulo de la aplicación y me solucionó el problema.
fuente
Tuve este problema en Android Studio porque en mi compilación de depuración agregué el sufijo del nombre de la versión -DEBUG y el - era el problema.
Intente tener solo letras, números y puntos en los nombres de las versiones y los ID de las aplicaciones
fuente
Navegar a
Run/Debug Configurations
Haga clic en Ejecutar en la pestaña superior> Editar configuraciones
fuente
Solo tuve el mismo error. Tenía el año 2015 en la identificación de la aplicación. Reemplacé 2015 por quince y eso lo resolvió.
Además, si usa Android Studio, puede probar: Tools / Android / Synch Project con Gradle Files
fuente
Forzar Detener la aplicación en la configuración del dispositivo.
fuente
Tuve este problema y ninguna de las soluciones anteriores funcionó para mí.
La razón es probablemente el teléfono de la versión raíz que tiene cuotas disponibles o permisos de instalación de apk solo en la tarjeta sd.
Solucioné el problema usando ADB (necesitará un dispositivo rooteado):
fuente
Parece haber múltiples razones para este fracaso. Para mí, el problema era que en el archivo AndroidManifest había hecho referencia a una biblioteca no existente (solo en este dispositivo en particular) usando la etiqueta 'uses-library'. Después de eliminar la biblioteca que este dispositivo no tenía, la apk se instaló correctamente.
fuente
He usado el arquetipo androidquickstart maven y me enfrenté al mismo problema:
El nombre de mi paquete era un único androidquickstart. Según consejos anteriores
package="androidquickstart"
apackage="androidquickstart.test"
y correspondientemente eliminado prueba de otras partes del xml<activity android:name=".test.HelloAndroidActivity" >
a<activity android:name=".HelloAndroidActivity" >
fuente
El nombre de su paquete debe incluir palabras combinadas por puntos como com.example o prashant.mydairy ... debería funcionar bien ahora
Los archivos donde debe actualizar el nombre de su paquete son los siguientes: 1) Archivo de manifiesto 2) Archivo Gradle (módulo appp): applicationId "package.name"
fuente
El nombre de taskAffinity debe tener al menos un '.' separador
fuente
Si tiene acceso a la consola del dispositivo (adb shell), cambie los siguientes permisos:
Es posible que también desee intentar copiar el apk,
/data/local/
en cuyo caso, asegúrese de establecer los permisos correctos para el apk también.fuente
Parece que tener un número después del punto fue el culpable.
Tuve el mismo problema con el siguiente applicationId
org.tony.stark.125jarvis
Cambiándolo a
org.tony.stark.jarvis
Pude instalar la aplicación en los dispositivos Android.
fuente
Se puede obtener este error si el
minSdkVersion
enbuilde.gradle
es más grande que la versión Android del dispositivo. En ese caso, debe modificar el archivominSdkVersion
.fuente
eliminar código en AndroidManifest.xml:
herramientas: reemplazar = "android: appComponentFactory" android: appComponentFactory = ""
funciona.
fuente