Poco a poco estoy tratando de hacer algunas tareas simples en Android Studio
. La siguiente aplicación se instala en el emulador sin ningún error. 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
He pasado por preguntas similares por aquí, pero en estos casos el error fue causado por no habilitar la depuración, o no accepitng la instalación de la aplicación. Sin embargo, he permitido la depuración y también he intentado instalar alguna otra aplicación en Studio y funcionó bien.
Así que la pregunta probablemente sea, qué es lo que falla en 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 <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="tlacitko.button.MainActivity">
<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>
Sigue estos pasos para solucionar el problema.
Nota:
No debe tener diferentes instancias de Android Debug Bridge(adb) ejecutándose en el sistema.
Si utiliza Genymotion, asegúrese de que utiliza la ruta del 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.
Para dispositivos Redmi y Mi desactiva la Optimización de MIUI y reinicia tu teléfono.
Ajustes > Ajustes adicionales > Opciones de desarrollador > Optimización de MIUI.
Podría ser la compatibilidad con los dispositivos Xiaomi
para Android studio versión 2.3
y gradle plugin versión 2.3.0
con instant run on.
adb multiple-install
los apks divididos devuelven error.
Puede desactivar la ejecución instantánea, o en Settings
-> Developer options
, desactivar Turn on MIUI optimization
si desea la ejecución instantánea también.