J'essaie lentement de faire quelques tâches simples dans Android Studio
. L'application suivante est installée sur l'émulateur sans erreur. Mais lorsque j'ai essayé de l'installer sur un périphérique réel Redmi 3S, cette erreur s'est produite:
Unknown failure (Failure - not installed for 0)
Error while Installing APKs
Je suis passé par des questions similaires ici mais dans ces cas l'erreur était due à un débogage non activé, ou à l'acceptation de l'instalation de l'application. Cependant, j’ai permis le débogage et j’ai aussi essayé d’installer une autre application dans Studio et cela a bien fonctionné.
La question est donc probablement de savoir ce qui ne va pas avec le code.
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();
}
}
Et le code 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>
Suivez ces étapes pour surmonter le problème.
Déconnectez tous les périphériques connectés au système et fermez tous les émulateurs exécutés sur Système . Désactivez la fonction d'exécution instantanée à partir des paramètres . Effectuez une nouvelle construction . Activez la fonction Exécution instantanée à partir des paramètres . construction nette . Connectez votre périphérique/démarrez votre émulateur et assurez-vous qu’il est en ligne . Exécutez le projet en sélectionnant le périphérique/émulateur.
Remarque:
1) Vous ne devriez pas avoir différentes instances d'Android Debug Bridge (adb) en cours d'exécution sur le système.
2) Si vous utilisez Genymotion, assurez-vous de bien utiliser le chemin d'accès au sdk personnalisé mentionné dans les paramètres de Genymotion et mentionné dans les paramètres d'Android Studio.
Ces étapes sont susceptibles de résoudre votre problème, mais il peut également s'agir d'un problème avec les versions d'Android.
Désactivez Instant Run dans Android Studio. Suivez les étapes ci-dessous:
Fichier >> Paramètres >> Construire, Exécuter, Déployer.
Cliquez sur Instant Run et décochez «Enable Instant Run pour modifier à chaud les modifications de code/ressources sur deploy».
Cliquez sur "Appliquer" et "OK".
Essayez de relancer l'application. Il devrait installer l'application maintenant. Vous pouvez réactiver Instant Run à tout moment.
Désactiver Instant Run ( Document Android )
Pour désactiver Instant Run:
Pour moi, je viens de faire un nettoyer pour l'application alors tout fonctionne bien.
Pour les appareils Redmi et Mi, désactivez MIUI Optimization et redémarrez votre téléphone.
Paramètres> Paramètres supplémentaires> Options pour les développeurs> Optimisation MIUI
Je suis maintenant confronté à ce problème, j'ai déjà désinstallé l'apk, maintenant j'utilise Android Studio 3.0 et je souhaite exécuter un apk sur Xiaomi MIX 2 (Android 7.1.1, API 25), mais cela a échoué.
$ adb Shell pm install -t -r "/data/local/tmp/com.package"
Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
Et Android Studio me dit: "Il est possible que ce problème soit résolu en désinstallant une version existante de l'apk s'il est présent, puis en le réinstallant." mais j'ai désinstallé cet apk.
Et je clique sur le bouton "OK", mais cela a également échoué.
$ adb Shell pm uninstall com.package
Unknown failure (at Android.os.Binder.execTransact(Binder.Java:565))
Error while Installing APK
Et enfin, je trouve comment résoudre ce problème. Je n'active pas la fonction "Vérifier les applications via USB", car cet appareil ne peut plus l'activer tant que vous n'êtes pas connecté à un compte xiaomi. Il s'agit d'un nouvel appareil qui n'a pas été connecté.
Étape 1: Allez à «Paramétrage» → recherchez «Options de développeur» dans Système, puis cliquez sur.
Étape 2: ACTIVER «Vérifier les applications via USB» dans la section Débogage.
Étape 3: Essayez à nouveau «Lancer l'application» dans Android Studio!
Cela pourrait être la compatibilité avec les appareils Xiaomi
pour la version Android studio 2.3
et la version du plugin Gradle 2.3.0
avec exécution instantanée.
adb multiple-install
les apks divisés renvoient une erreur.
Vous pouvez désactiver l'exécution instantanée ou dans Settings
-> Developer options
, désactiver Turn on MIUI optimization
si vous souhaitez également exécuter l'exécution instantanée.
Il se peut que la mémoire de votre appareil soit saturée. Si vous testez sur un périphérique physique . Cependant, si vous testez dans Emulator, vérifiez également que l'espace de stockage est disponible ou non. Sinon, vous devez désactiver l'exécution instantanée.
Avant d'essayer toutes les suggestions ci-dessus, vérifiez qu'il y a suffisamment d'espace mémoire disponible dans l'appareil . Cela causera également ce problème.
Erreur: Android.os.ParcelableException: Java.io.IOException: Requis en interne uniquement, mais pas assez d'espace
Bonne codage :)
J'avais l'habitude de nettoyer le projet et de résoudre ce problème.
Construire -> Nettoyer le projet.
J'ai également rencontré le même problème lorsque j'installais une application dans un nouvel appareil. Cette erreur se produit généralement lorsque l'installation de l'application n'est pas autorisée par l'OS . Cela peut être dû au fait que vous n'avez peut-être pas l'autorisation d'installer l'application sur votre téléphone à partir de n'importe quelle source.
Essayez donc de vérifier le allow install apps via usb
dans les options de développement . Si cela ne fonctionne pas, essayez de révoquer tout le usb debugging authorizations
, puis essayez d'installer et d'accorder la permission lorsque demandé.
Si cela ne suffit pas, essayez de désactiver l'exécution instantanée comme expliqué dans l'une des réponses ci-dessus.
Réponse simple et directe ...
Décochez Instant Run comme suit ...
Étape: fichier >> Paramètres >> Générer, Exécution, Déploiement >> décochez Activer l'exécution instantanée pour modifier le code/les ressources d'échange à chaud lors du déploiement (activé par défaut).
Étape 2: Appliquer et cliquer sur Ok
Étape 3: Exécutez le projet ...
Travailler pour sûr .... @ Ambilpura
J'ai eu le même problème, mais mon problème était le manque d'espace sur l'appareil.
Essayez ceci Sur votre appareil, allez dans Paramètres -> Maintenance de l’appareil -> Optimiser maintenant
Une fois que cela est fait, essayez à nouveau.
Si vous pouvez supprimer toutes vos applications sur l'appareil. J'utilise Android Emulator, j'ai supprimé mes applications via;
Paramètres> Applications et notifications> sélectionnez votre application> désinstaller .
Désactivez l'exécution instantanée dans Android Studio.Suivez les étapes ci-dessous:
Pour l'ancienne version d'Android Studio (Version < Android Studio 3.0
) Fichier >> Paramètres >> Construire, Exécution, Déploiement.
Cliquez sur Instant Run
et décochez All Enable Instant Run to hot swap code/resource changes on deploy
.
Cliquer sur Apply et OK.
Essayez de relancer l'application. Il convient d'installer l'application maintenant. Vous pouvez réactiver Instant Run
à tout moment.
Pour le nouveau (Android Studio 3.0
) Désactiver l'exécution instantanée (par défaut)
Pour désactiver Instant Run:
Ouvrez le Settings
ou Preferences dialog
. (Pour Mac, Android Studio -> Préférences)
Accédez à Build, Execution, Deployment > Instant Run
.
Décochez la case en regard de Activer l'exécution instantanée.
Nettoyer le projet et essayez de réexécuter l'application. Il devrait install
l'application maintenant. Vous pouvez être à nouveau enable Instant Run
à tout moment.
Déconnectez le périphérique du système et dans Android studio Allez dans Fichier -> Cache invalide et/Redémarrage . Ça marche....
Vous pouvez suivre cette étape pour vérifier à nouveau Instant Run:
mais parfois, revérifier ne fonctionne pas.
Vous devez temporairement désactiver votre antivirus et Windows Defender si vous exécutez votre déploiement dans un PC WIN
Suivez ces étapes:
Note: