Android: Error al instalar APK


Poco a poco estoy tratando de hacer algunas tareas simples en Android Studio. La siguiente aplicación se instala en el emulador sin errores. Pero cuando traté de instalarlo en un dispositivo real Redmi 3S se produjo este error:

Unknown failure (Failure - not installed for 0)
Error while Installing APKs

Pasé por preguntas similares por aquí, pero en estos casos el error fue causado por no habilitar la depuración, o no aceptar la instalación de la aplicación. Sin embargo, permití la depuración y también traté de instalar alguna otra aplicación en Studio y funcionó fine .

Así que la pregunta probablemente es, ¿qué está mal con el código.

MainActivity.java

package tlacitko.button;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void sendMessage(View view) {
        new Thread(new Runnable() {
            public void run() {

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        try{
                            URL url = new URL("http://147.32.186.51:8080");
                           // HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                            InputStream is = url.openStream();
                            BufferedReader br = new BufferedReader(new
                                    InputStreamReader(is));
                            String s = "";
                        }catch(MalformedURLException ex){

                        }catch(IOException e){
                        }
                    }
                });
            }
        }).start();
    }
}

Y el código xml:

Activity_main.XML

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Try to connect the server."
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="7dp"
        android:layout_marginTop="16dp"
        android:onClick="sendMessage"
        android:text="Conncect"
        app:layout_constraintLeft_toRightOf="@+id/editText"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


</android.support.constraint.ConstraintLayout>
Author: Lucie P., 2017-03-14

8 answers

Siga estos pasos para superar el problema.

Desconecte todos los dispositivos conectados al sistema y cierre todos los emuladores que se ejecutan en el sistema. Desactive la función de ejecución instantánea desde la configuración. Realice una construcción limpia. Active la función de ejecución instantánea desde ajustes. Realice una construcción limpia. Conecte su dispositivo / inicie su emulador y asegúrese de que esté en línea. Ejecute el proyecto seleccionando el dispositivo / emulador.

Nota:

1) No debe tener diferentes instancias de depuración de Android Puente (adb) corriendo en el sistema.

2) Si usa Genymotion, asegúrese de usar la ruta de sdk personalizada mencionada en la configuración de Genymotion que mencionó en la configuración de Android Studio.

Es probable que estos pasos resuelvan su problema, sin embargo, también puede ser un problema con las versiones de Android.

 75
Author: JPZ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-01 19:27:24

Desactiva la ejecución instantánea en Android Studio. Siga los siguientes pasos:

  1. Archivo >> Configuración >> Compilación, Ejecución, Implementación.

  2. Haga clic en Instant Run y descárguese " Habilitar Instant Run para intercambiar en caliente los cambios de código/recursos en deploy ".

  3. Haga Clic en "Aplicar" y "OK".

Intente ejecutar la aplicación de nuevo. Debe instalar la aplicación ahora. Puede volver a activar Instant Run de nuevo cuando quieras.

EDITAR (Android Studio 3.0)

Desactivar Instant Run (Android Document)

Para desactivar la Ejecución instantánea:

  1. Abra el diálogo Configuracióno Preferencias. (Para Mac, Android Studio -> Preferencias)
  2. Vaya a Compilación, Ejecución, Implementación > Instant Run .
  3. Desmarque la casilla junto a Habilitar Ejecución instantánea.
 39
Author: Animesh Patra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-12 17:18:04

Para mí acabo de hacer un limpio para la Aplicación, entonces todo funciona bien.

 7
Author: Mohammed Salim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-19 22:39:41

Para dispositivos Redmi y Mi, desactive la optimización de MIUI y reinicie su teléfono.

Ajustes > Ajustes adicionales > Opciones de desarrollador > Optimización MIUI

Compruebe la respuesta aquí

 6
Author: Mahesh Cheliya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-07 09:12:30

Podría ser la compatibilidad con Xiaomi dispositivos para la versión de Android studio 2.3 y la versión del complemento de gradle 2.3.0 con instant run on.

adb multiple-install los apk divididos devuelven el error.

Puede desactivar instant run, o en Settings -> Developer options, desactiva Turn on MIUI optimization si quieres ejecutar instant run también.

 3
Author: alijandro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-14 09:47:57

Ahora me enfrento a este problema, ya he desinstalado el apk, ahora uso Android Studio 3.0 quiero ejecutar apk a Xiaomi MIX 2(Android 7.1.1, API 25), pero falló.

$ adb shell pm install -t -r "/data/local/tmp/com.package"
Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]

Y Android Studio me dice "Es posible que este problema se resuelva desinstalando una versión existente del apk si está presente, y luego reinstalando."pero he desinstalado este apk.

Información emergente de Android Studio

Y hago clic en el botón "OK", pero también falló.

$ adb shell pm uninstall com.package
Unknown failure (at android.os.Binder.execTransact(Binder.java:565))
Error while Installing APK

Y finalmente encuentro cómo resolver este problema, no enciendo "Verificar aplicaciones a través de USB", porque ahora este dispositivo no puede encenderlo hasta que inicie sesión en la cuenta de xiaomi, y este es un dispositivo nuevo que no ha iniciado sesión.

Paso 1: Vaya a "Configuración" → encuentre "Opciones de desarrollador" en el Sistema y haga clic.

Paso 2: ACTIVA "Verificar aplicaciones a través de USB" en la sección Debbuging.

Paso 3: Intente "Ejecutar aplicación" en Android Studio de nuevo!

 3
Author: Smiles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-28 03:43:09

Puede ser que el almacenamiento de su dispositivo esté lleno. Si está realizando pruebas en un dispositivo físico. Sin embargo, si está probando en Emulador, compruebe también que el espacio de almacenamiento está disponible o no. De lo contrario, tienes que desactivar la ejecución instantánea.

 1
Author: GauRav MisHra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-14 07:39:18

También experimenté el mismo problema cuando estaba instalando una aplicación en un dispositivo nuevo. Este error generalmente ocurre cuando el sistema operativo no permite la instalación de la aplicación. Esto puede deberse a que es posible que no tenga la autorización para instalar la aplicación en su teléfono desde cualquier fuente.

Así que intente comprobar el allow install apps via usb en las opciones de desarrollador. Si esto no funciona, intente revocar todo el usb debugging authorizations y luego intente instalar y proporcionar permiso cuando se le solicite.

Si esto tampoco lo corta, intente deshabilitar instant run como se explica en una de las respuestas anteriores.

 1
Author: arnav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-01 20:56:52