it-swarm.com.de

Android: Fehler beim Installieren von APKs

Ich versuche langsam einige einfache Aufgaben in Android Studio zu erledigen. Die folgende App wird fehlerfrei auf dem Emulator installiert. Als ich versuchte, Redmi 3S auf einem echten Gerät zu installieren, trat dieser Fehler auf:

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

Ich habe ähnliche Fragen durchgegangen, aber in diesen Fällen wurde der Fehler dadurch verursacht, dass das Debugging nicht aktiviert war oder die App-Installation nicht akzeptiert wurde. Ich erlaubte jedoch das Debuggen und versuchte auch, eine andere Anwendung in Studio zu installieren, und funktionierte gut.

Die Frage ist wahrscheinlich, was mit dem Code falsch ist.

Hauptaktivität.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();
    }
}

Und der XML-Code:

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>
44
Lucie P.

Befolgen Sie diese Schritte, um das Problem zu beheben.

Trennen Sie alle an das System angeschlossenen Geräte und schließen Sie alle Emulatoren, die auf System ..__ ausgeführt werden. Deaktivieren Sie die Instant Run-Funktion von den Einstellungen ..__ clean build . Verbinden Sie Ihr Gerät/starten Sie den Emulator und stellen Sie sicher, dass er online ist.

Hinweis:

1) Sie sollten keine unterschiedlichen Instanzen von Android Debug Bridge (adb) auf dem System ausführen.

2) Wenn Sie Genymotion verwenden, stellen Sie sicher, dass Sie den in den Genymotion-Einstellungen angegebenen benutzerdefinierten Sdk-Pfad verwenden, den Sie in den Einstellungen von Android Studio angegeben haben.

Diese Schritte lösen wahrscheinlich Ihr Problem, es kann jedoch auch ein Problem mit Android-Versionen sein.

93
JPZ

Deaktivieren Sie den Sofortlauf in Android Studio. Folgen Sie den unteren Schritten:

  1. Datei >> Einstellungen >> Erstellung, Ausführung, Bereitstellung.

  2. Klicken Sie auf Instant Run und deaktivieren Sie "Instant Run aktivieren, um den Code für Hot-Swap-Code/Ressourcen bei der Bereitstellung zu ändern".

  3. Klicken Sie auf "Apply" und "OK".

Führen Sie die Anwendung erneut aus. Es sollte die App jetzt installieren. Sie können den Instant Run jederzeit wieder aktivieren.

BEARBEITEN (Android Studio 3.0)

Instant Run deaktivieren ( Android-Dokument )

So deaktivieren Sie Instant Run:

  1. Öffnen Sie das Dialogfeld Settings oder Preferences. (Für Mac Android Studio -> Voreinstellungen)
  2. Navigieren Sie zu Build, Ausführung, Bereitstellung> Instant Run.
  3. Deaktivieren Sie das Kontrollkästchen neben Instant Run ausführen.
47
Animesh Patra

Für mich habe ich gerade eine clean für die App gemacht, dann funktioniert alles gut.

8
Mohammed Salim

Deaktivieren Sie für Redmi- und Mi-Geräte die MIUI-Optimierung und starten Sie das Telefon neu.

Einstellungen> Zusätzliche Einstellungen> Entwickleroptionen> MIUI Optimization

Antwort hier überprüfen

7
Mahesh Cheliya

Ich bin jetzt mit diesem Problem konfrontiert, ich habe die apk bereits deinstalliert, jetzt benutze ich Android Studio 3.0, um apk auf Xiaomi MIX 2 (Android 7.1.1, API 25) auszuführen, aber es schlug fehl.

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

Android Studio teilt mir mit: "Es ist möglich, dass dieses Problem behoben wird, indem eine vorhandene Version der apk deinstalliert wird, sofern vorhanden, und dann erneut installiert wird." aber ich habe diese apk deinstalliert.

 Android Studio popup info

Und ich klicke auf "OK", aber es schlug auch fehl.

$ adb Shell pm uninstall com.package
Unknown failure (at Android.os.Binder.execTransact(Binder.Java:565))
Error while Installing APK

Und schließlich finde ich, wie ich dieses Problem lösen kann. Ich schalte "Überprüfe Apps über USB" nicht ein, da dieses Gerät es erst einschalten kann, wenn Sie sich bei xiaomi angemeldet haben, und dies ist ein neues Gerät, das nicht angemeldet ist.

Schritt 1: Gehen Sie zu „Einstellungen“ → Suchen Sie im System nach „Entwickleroptionen“ und klicken Sie auf.

Schritt 2: EINSCHALTEN „Apps über USB überprüfen“ im Abschnitt Debbuging.

Schritt 3: Versuchen Sie erneut, „App ausführen“ in Android Studio auszuführen!

4
Smiles

Möglicherweise ist dies die Kompatibilität mit Xiaomi-Geräten für die Android-Studio-Version 2.3 und die Gradle-Plugin-Version 2.3.0 mit sofortiger Ausführung.

adb multiple-install Die aufgeteilten apks geben einen Fehler zurück.

Sie können den Sofortlauf ausschalten oder in Settings -> Developer options den Turn on MIUI optimization ausschalten, wenn Sie den Sofortlauf auch möchten.

3
alijandro

Möglicherweise ist Ihr Gerätespeicher voll. Wenn Sie auf einem physischen Gerät testen ... Wenn Sie jedoch in Emulator testen, überprüfen Sie dort auch, ob Speicherplatz verfügbar ist oder nicht. Ansonsten müssen Sie den Instant Run ausschalten.

2
GauRav MisHra

Bevor Sie alle oben genannten Vorschläge ausprobieren, überprüfen Sie genügend Speicherplatz im Gerät . Dies wird auch dieses Problem begründen.

Fehler: Android.os.ParcelableException: Java.io.IOException: Angefordert nur intern, aber nicht genügend Speicherplatz

Viel Spaß beim Codieren :)

1
happy_Coding

Ich habe das Projekt gereinigt und dieses Problem behoben.

Build -> Projekt reinigen.

1
ssowri1

Das gleiche Problem trat auch bei der Installation einer App auf einem neuen Gerät auf. Dieser Fehler tritt normalerweise auf, wenn die Installation der App von os ..__ nicht zulässig ist, da Sie möglicherweise nicht die Berechtigung haben, die App von einer beliebigen Quelle auf Ihrem Telefon zu installieren.

Überprüfen Sie also den allow install apps via usb in den Entwickleroptionen. Wenn dies nicht funktioniert, widerrufen Sie den gesamten usb debugging authorizations und versuchen Sie es mit der Installation.

Wenn dies auch nicht der Fall ist, versuchen Sie, den Sofortlauf zu deaktivieren, wie in einer der obigen Antworten beschrieben.

1
arnav

Einfache und klare Antwort ...

Deaktivieren Sie Instant Run wie folgt ...

Schritt: Datei >> Einstellungen >> Erstellen, Ausführen, Bereitstellen >> Deaktivieren Sie Sofortiges Ausführen aktivieren, um Code-/Ressourcenänderungen bei der Bereitstellung im laufenden Betrieb auszutauschen (Standardeinstellung aktiviert).  enter image description here 

Schritt 2: Übernehmen und auf Ok klicken enter image description here 

Schritt 3: Führen Sie das Projekt aus ...

Sicher arbeiten .... @ Ambilpura

Ich hatte das gleiche Problem, aber mein Problem war der Platz auf dem Gerät.

Versuchen Sie dies Gehen Sie auf Ihrem Gerät zu Einstellungen -> Gerätewartung -> Jetzt optimieren

Sobald dies geschehen ist, versuchen Sie es erneut.

0
Catalin

Wenn Sie alle Ihre Anwendungen auf dem Gerät löschen können. Ich benutze Android Emulator und habe meine Apps über gelöscht.

Einstellungen> Apps & Benachrichtigungen> App auswählen> deinstallieren .

0
yusuf

Deaktivieren Sie Instant Run in Android Studio.Führen Sie die folgenden Schritte aus:

  • Für die alte Version von Android Studio (Version < Android Studio 3.0) Datei >> Einstellungen >> Erstellen, Ausführen, Bereitstellen.

  • Klicken Sie auf Instant Run und deaktivieren Sie alle Enable Instant Run to hot swap code/resource changes on deploy.

  • Klicke auf Apply und OK.

  • Führen Sie die Anwendung erneut aus. Es sollte die App jetzt installieren. Sie können Instant Run jederzeit wieder aktivieren.

  • Für Neu (Android Studio 3.0) Sofortige Ausführung deaktivieren (Standardeinstellung)

So deaktivieren Sie Instant Run:

  • Öffnen Sie das Settingsoder Preferences dialog. (Für Mac, Android Studio -> Einstellungen)

  • Navigieren Sie zu Build, Execution, Deployment > Instant Run.

  • Deaktivieren Sie das Kontrollkästchen neben "Instant Run aktivieren".

  • Bereinigen Sie Project und führen Sie die Anwendung erneut aus. Es sollte jetzt installder App sein. Sie können enable Instant Run jederzeit erneut eingeben.

0

Trennen das Gerät vom System und in Android Studio Gehe zu Datei -> Cache ungültig machen und/Neustart . Es klappt....

0
VAIBHAV NERLE

Sie können diesen Schritt befolgen, um Instant Run erneut zu überprüfen:

  1. Datei >> Einstellungen >> Erstellen, Ausführen, Bereitstellen.
  2. Klicken Sie auf Sofortausführung und deaktivieren Sie "Sofortausführung für Hot-Swap-Code-/Ressourcenänderungen bei der Bereitstellung aktivieren".
  3. Klicken Sie auf "Übernehmen" und "OK".

Aber manchmal funktioniert eine erneute Überprüfung nicht.

Diese Zeit müssen Sie vorübergehend deaktivieren Sie Ihr AntiVirus und Windows Defender, wenn Sie Ihre Bereitstellung in WIN PC ausführen

Befolgen Sie diese Schritte:

  1. Deaktivieren Sie Ihren Antivirus oder Windows Defender für 15/30min
  2. Führen Sie einen sauberen Build durch.
  3. Projekt neu erstellen
  4. Führen Sie das Projekt in Ihrem Emulator oder auf Ihren Geräten aus

Anmerkung:

  • \ app\build\intermediates\split-apk\debug\slices\slice_5.apk Betroffene Malware.
0
Eshan Chattaraj