Poco a poco estoy tratando de hacer algunas tareas simples en Android Studio . La siguiente aplicación está instalada en el emulador sin ningún error. Pero cuando traté de instalarlo en un dispositivo real Redmi 3S, ocurrió este error:
Unknown failure (Failure - not installed for 0) Error while Installing APKsRevisé preguntas similares por aquí, pero en estos casos el error se debió a que la depuración no estaba habilitada o no aceptaba la instalación de la aplicación. Sin embargo, permití la depuración y también intenté instalar alguna otra aplicación en Studio y funcionó bien .
Entonces, la pregunta probablemente sea, ¿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:
actividad_principal.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>Siga estos pasos para solucionar el problema.
Nota:
1) No debe tener diferentes instancias de Android Debug Bridge (adb) ejecutándose en el sistema.
2) Si usa Genymotion, asegúrese de usar la ruta 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.
Desactive Instant Run en Android Studio. Siga los pasos a continuación:
Archivo >> Configuración >> Construcción, Ejecución, Despliegue.
Haga clic en Ejecución instantánea y desmarque " Habilitar ejecución instantánea para cambiar en caliente los cambios de código/recursos en la implementación ".
Haga clic en " Aplicar " y " Aceptar ".
Intente ejecutar la aplicación de nuevo. Debería instalar la aplicación ahora. Puede volver a habilitar Instant Run en cualquier momento.
Deshabilitar ejecución instantánea ( documento de Android )
Para deshabilitar la ejecución instantánea:
Para los dispositivos Redmi y Mi, desactive la Optimización MIUI y reinicie su teléfono.
Ajustes > Ajustes adicionales > Opciones de desarrollador > Optimización MIUI